参数设置
openGauss提供了多种修改GUC参数的方式,让用户可以轻松地对数据库、用户、会话进行设置。
参数名称不区分大小写。
参数值有五种类型:整数、浮点数、字符串、布尔值和枚举。
布尔值有(on, off)、(true, false)、(yes, no) 或(1, 0),且不区分大小写。枚举值由系统表pg_settings中enumvals字段的值定义。 对于有单位的参数,设置时指定单位。如果未指定,则使用默认单位。
参数的默认单位在系统表pg_settings 的单位字段中定义。内存单位有kB(千字节)、MB(兆字节)和GB(千兆字节)。时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
详细参数说明请参见GUC参数说明。
GUC参数设置
openGauss 提供六类GUC 参数。具体分类及设置方法见表1。
表1 GUC参数分类
参数类型
解释
设定方法
内部的
固定参数是在创建数据库时确定的,用户无法更改。只能显示show syntax 或pg_settings 视图。
没有任何
邮政局长
数据库服务器参数在数据库启动时确定,可以通过配置文件指定。
支持表2中的方法1和方法4。
叹
数据库的全局参数可以在数据库启动时设置,也可以在数据库启动后发送命令重新加载数据库。
支持表2中的方法1、方法2和方法4。
后端
会话连接参数。在创建会话连接时指定,连接建立后无法更改。当连接断开时,该参数将失效。该参数为内部使用,不建议用户设置。
支持表2中的方法1、方法2和方法4。
注意:设置该参数将在下次建立会话连接时生效。
苏塞特
数据库管理员参数。这可以在数据库启动时、数据库启动后设置,或者由数据库管理员通过SQL 设置。
支持表2中的方法1和2,或者可以由数据库管理员通过方法3进行配置。
用户设置
常用用户参数。任何用户都可以随时设置。
支持表2 中的模式1、模式2 或模式3 配置。
openGauss提供了四种修改GUC参数的方法。具体操作见表2。
表2 GUC参数设置方法
序列号
设定方法
方法一
要更改参数,请使用以下命令:gs_guc set -D datadir -c \”paraname=value\”注意:如果参数是字符串变量,请使用-cparameter=\’\’value\’\’或-c\’parameter=\’value\’\’。
重启数据库使参数生效。注意:重新启动openGauss 操作会中断用户执行该操作。请在操作前规划好合适的执行时间。
gs_ctl restart -D datadir方法2
gs_guc reload -D datadir -c \”paraname=value\”方法3
修改指定数据库、用户或会话级别的参数。
设置数据库级参数openGauss=#ALTER DATABASE dbname SET paraname TO value;将在下次会话中生效。
设置用户级参数openGauss=#ALTER USER username SET paraname TO value;在下次会话时生效。
要更改此会话的值,请设置会话级参数openGauss=#SET paraname TO value;。当您结束会话时,您的设置将不再有效。
注意:SET设置的会话级参数优先级最高,其次是ALTER DATABASE设置的参数值,其优先级高于ALTER USER设置。它与gs_guc 的配置方式不同。
方法4
使用ALTER SYSTEM SET 更改数据库参数。
设置POSTMASERT级别参数openGauss=# ALTER SYSTEMALTER SYSTEM SET paraname TO value;重启后生效。
设置SIGHUP级别参数openGauss=#ALTER SYSTEM SET paraname TO value;立即生效(实际等待线程重新加载参数时有轻微延迟)。
设置BACKEND级别参数openGauss=#ALTER SYSTEM SET paraname TO value;在下次会话中生效。
消息:
使用方法1和方法2设置参数时,如果设置的参数不属于当前环境,则数据库会请求相关信息,表明该参数不在Masu支持的范围内。
操作步骤
使用方法1设置数据库参数。例如,在数据库主节点上设置archive_mode参数。
以操作系统用户omm登录数据库主节点。
检查archive_mode 参数。
cat /gaussdb/data/dbnode/postgresql.conf grep archive_mode | cat /gaussdb/data/dbnode/postgresql.conf
存档模式=打开
on 表示应归档日志。
要关闭日志归档操作,请将archive_mode 参数设置为off。
gs_guc set -D /gaussdb/data/dbnode -c \’archive_mode=off\’
重启数据库使参数生效。
gs_ctl restart -D /gaussdb/data/dbnode
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
请检查参数设置是否正确。
openGauss=# 显示archive_mode;
存档模式
—————-
离开
(1 行)
使用方法2设置参数。例如,考虑在主数据库节点上设置authentication_timeout 参数。
以操作系统用户omm登录数据库主节点。
请检查认证超时参数。
cat /gaussdb/data/dbnode/postgresql.conf grep 身份验证超时| cat /gaussdb/data/dbnode/postgresql.conf
身份验证超时=1 分钟
将认证超时参数设置为59秒。
gs_guc reload -D /gaussdb/data/dbnode -c \’authentication_timeout=59s\’
实例总数: 2。失败实例: 0。
gs_guc 成功执行。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
请检查参数设置是否正确。
openGauss=# SHOW 认证超时;
认证超时
————————
59秒
(1 行)
设置参数采用方法3,以设置explain_perf_mode参数为例。
以操作系统用户omm登录数据库主节点。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
检查explain_perf_mode参数。
openGauss=#显示Explain_perf_mode;
解释性能模式
——————-
通常
(1 行)
设置explain_perf_mode参数。
使用以下方法之一进行配置:
设置数据库级参数
openGauss=# 更改数据库postgres 将Explain_perf_mode设置为漂亮;
如果显示如下图所示的结果,则说明设置成功。
数据库变更
它将在您的下一次会话中生效。
设置用户级参数
openGauss=# ALTER USER omm 将Explain_perf_mode设置为pretty。
如果显示如下图所示的结果,则说明设置成功。
改变角色
它将在您的下一次会话中生效。
设置会话级参数
openGauss=# 将Explain_perf_mode设置为pretty。
如果显示如下图所示的结果,则说明设置成功。
放
请检查参数设置是否正确。
openGauss=#显示Explain_perf_mode;
解释性能模式
—————-
可爱的
(1 行)
示例
示例一:使用方法一修改openGauss数据库主节点的最大连接数。
以操作系统用户omm登录数据库主节点。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示最大连接数。
openGauss=# 显示最大连接数;
最大连接数
——————
200
(1 行)
使用以下命令终止数据库:
开高斯=# \\q
修改openGauss数据库主节点的最大连接数。
gs_guc 设置-D /gaussdb/data/dbnode -c \’max_connections=800\’
重新启动openGauss。
gs_ctl restart -D /gaussdb/data/dbnode
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示最大连接数。
openGauss=# 显示最大连接数;
最大连接数
——————
800
(1 行)
示例2:使用方法2在数据库主节点上设置客户端认证最大时间参数authentication_timeout。
以操作系统用户omm登录数据库主节点。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示客户端身份验证的最长时间。
openGauss=# SHOW 认证超时;
认证超时
————————
1分钟
(1 行)
使用以下命令终止数据库:
开高斯=# \\q
更改数据库主节点的最大客户端身份验证时间。
gs_guc reload -D /gaussdb/data/dbnode -c \’authentication_timeout=59s\’
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示客户端身份验证的最长时间。
openGauss=# SHOW 认证超时;
认证超时
————————
59秒
(1 行)
示例3:修改openGauss数据库节点的最大连接数。
以操作系统用户omm登录数据库主节点。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示最大连接数。
openGauss=# 显示最大连接数;
最大连接数
——————
200
(1 行)
使用以下命令终止数据库:
开高斯=# \\q
修改openGauss数据库节点的最大连接数。
gs_guc 设置-D /gaussdb/data/dbnode -c \’max_connections=500\’
重新启动openGauss。
gs_ctl restart -D /gaussdb/data/dbnode
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示最大连接数。
openGauss=# 显示最大连接数;
最大连接数
——————
500
(1 行)
示例4:设置数据库节点的最大客户端认证时间参数“authentication_timeout”
以操作系统用户omm登录数据库主节点。
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示客户端身份验证的最长时间。
openGauss=# SHOW 认证超时;
认证超时
————————
1分钟
(1 行)
使用以下命令终止数据库:
开高斯=# \\q
修改openGauss数据库节点的最大客户端认证时间。
gs_guc reload -D /gaussdb/data/dbnode -c \’authentication_timeout=30s\’
使用以下命令连接到数据库:
gsql -d postgres -p 8000
postgres是需要连接的数据库名称,8000是数据库主节点的端口号。
如果连接成功,系统会显示类似如下信息:
gsql((openGauss x.x.x build f521c606) 使用2021-09-16 14:55:22 提交2935 最后mr 6385 版本编译)
非SSL连接(如果安全性要求高,建议使用SSL连接)
键入help 以获得帮助。
开高斯=#
显示客户端身份验证的最长时间。
openGauss=# SHOW 认证超时;
认证超时
————————
30秒
(1 行)
SQL复制全屏
详情查看:https://opengauss.org
详情查看:https://docs-opengauss.osinfra.cn
以上#openGauss参数设置相关内容摘自网络,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92226.html