SET_CONFIG_PARAMETER
在指定级别设置或清除配置参数。
重要
您只能使用此函数来设置具有字符串或整数值的配置参数。要设置接受其他数据类型的配置参数,请使用相应的 ALTER 语句。这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SET_CONFIG_PARAMETER( 'param‑name', { param‑value | NULL}, ['level'| NULL])
参数
- param‑name
- 要设置的配置参数的名称。
- param‑value
- 要为 param‑name 设置的值,可以是字符串,也可以是整数。如果是字符串,则用单引号括起来;如果是整数,则单引号是可选的。
要在指定级别清除 param‑name,请将其设置为 NULL。
- 级别
- 要设置 param‑name 的级别,为以下字符串值之一:
-
user
:当前用户。 -
session
:当前会话,将覆盖数据库设置。 -
node-name:数据库节点的名称,将覆盖会话和数据库设置。
如果 level 被忽略或设置为 NULL,则会在数据库级别设置 param‑name。
-
注意
某些参数需要重新启动才能使参数值生效。特权
超级用户示例
在数据库级别将 AnalyzeRowCountInterval 参数设置为 3600:
=> SELECT SET_CONFIG_PARAMETER('AnalyzeRowCountInterval',3600);
SET_CONFIG_PARAMETER
----------------------------
Parameter set successfully
(1 row)
注意
使用 ALTER DATABASE 可以获得相同的结果:
ALTER DATABASE DEFAULT SET PARAMETER AnalyzeRowCountInterval = 3600;
在会话级别将 MaxSessionUDParameterSize 参数设置为 2000。
=> SELECT SET_CONFIG_PARAMETER('MaxSessionUDParameterSize',2000,'SESSION');
SET_CONFIG_PARAMETER
----------------------------
Parameter set successfully
(1 row)