【openGauss数据库配置运行参数】--略有小成
- 🔻 一、查看参数值
- 🔰 1.1 使用SHOW命令查看
- 🔰 1.2 使用pg_settings视图查看
- 🔻 二、openGauss的六类GUC参数
- 🔻 三、重设运行参数
- 🔰 1.3 重设参数的几种方式
- 🔰 1.4 修改最大连接数量
- 🔰 1.5设置数据库主节点的客户端认证最长时间
- 🔻 四、总结—温故知新
👈【上一篇】 |
💖The Begin💖 点点关注,收藏不迷路💖
| 【下一篇】👉 |
🔻 一、查看参数值
openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高,可根据业务场景和数据量的大小进行GUC参数调整。
🔰 1.1 使用SHOW命令查看
###🍀1、以用户omm登录数据库节点🍀###
[root@klgdj ~]# su - omm
###🍀连接数据库,15400为数据库端口号🍀###
[omm@klgdj ~]$ gsql -d postgres -p 15400
###🍀2、查看数据库运行参数当前取值🍀###
###🍀查看单个参数
openGauss=# SHOW server_version;
server_version
----------------
9.2.4
(1 row)
openGauss=#
----server_version显示数据库版本信息的参数
###🍀查看所有参数
openGauss=# SHOW ALL;
🔰 1.2 使用pg_settings视图查看
###🍀查看单个参数
openGauss=# SELECT * FROM pg_settings WHERE NAME='server_version';
###🍀查看所有参数
openGauss=# SELECT * FROM pg_settings;
🔻 二、openGauss的六类GUC参数
参数类型 | 说明 |
---|---|
INTERNAL | 固定参数,在创建数据库的时候确定,用户无法修改 ,只能通过show语法或者pg_settings视图进行查看。 |
POSTMASTER | 数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。 |
SIGHUP | 数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。 |
BACKEND | 会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐设置 。 |
SUSET | == 数据库管理员参数==。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。 |
USERSET | 普通用户参数。可被任何用户在任何时刻设置。 |
🔻 三、重设运行参数
openGauss提供了多种修改GUC参数的方法,可以方便的针对数据库、用户、会话进行设置。
🌳1、参数名称不区分大小写。
🌳2、参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
🌳3、布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。
🌳4、枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。
🌳5、对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。
🌳6、参数的默认单位在系统表pg_settings的unit字段定义的。
🌳7、内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。
🌳8、时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
🔰 1.3 重设参数的几种方式
参数文件地址:/opt/software/install/data/dn/postgresql.conf,你的openGauss安装路径下。
- 方式一、gs_guc set
🌳1、使用如下命令修改参数。
gs_guc set -D datadir -c “paraname=value”
说明:
如果参数是一个字符串变量,则使用-c parameter="‘value’"或者使用-c “parameter = ‘value’”。🌳2、使用以下命令在数据库节点上同时设置某个参数。
gs_guc set -N all -I all -c “paraname=value”
🌳3、使用以下命令在数据库节点上设置cm_agent某个参数。gs_guc set -Z cmagent -c “paraname=value”
gs_guc set -Z cmagent -N all -I all -c “paraname=value”
🌳4、使用以下命令在数据库节点上设置cm_server某个参数。gs_guc set -Z cmserver -c “paraname=value”
gs_guc set -Z cmserver -N all -I all -c “paraname=value”
🌳5、重启数据库使参数生效。
说明:
重启openGauss操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。gs_om -t stop && gs_om -t start
###💯例:修改archive_mode参数
###🍀omm 用户登录,查看archive_mode参数
[omm@klgdj ~]$ cat /opt/software/install/data/dn/postgresql.conf | grep archive_mode
#archive_mode = off # allows archiving to be done
[omm@klgdj ~]$
---archive_mode参数为off,关闭日志的归档操作
###🍀开启归档模式
[omm@klgdj ~]gs_guc set -D /opt/software/install/data/dn -c "archive_mode=on"
###🍀重启数据库使参数生效。再次查看参数值
[omm@klgdj ~]$ gs_om -t stop && gs_om -t start
openGauss=# SHOW archive_mode;
archive_mode
--------------
on
(1 row)
openGauss=#
- 方式二、gs_guc reload
gs_guc reload -D datadir -c “paraname=value”
说明:
🌳1、使用以下命令在数据库节点上同时设置某个参数。gs_guc reload -N all -I all -c “paraname=value”
###💯例:修改authentication_timeout参数
###🍀omm 用户登录,查看authentication_timeout参数
[omm@klgdj ~]$ cat /opt/software/install/data/dn/postgresql.conf | grep authentication_timeout
#authentication_timeout = 1min # 1s-600s
[omm@klgdj ~]$
###🍀设置authentication_timeout参数为120s
[omm@klgdj ~]gs_guc reload -N all -I all -c "authentication_timeout = 120s"
###🍀修改后立即生效。再次查看参数值
openGauss=# SHOW authentication_timeout;
authentication_timeout
------------------------
2min
(1 row)
openGauss=#
- 方式三、ALTER DATABASE | USER SET
修改指定数据库、用户、会话级别的参数。
🌳1、设置数据库级别的参数
openGauss=# ALTER DATABASE dbname SET paraname TO value;
在下次会话中生效。🌳2、设置用户级别的参数
openGauss=# ALTER USER username SET paraname TO value;
在下次会话中生效。🌳3、设置会话级别的参数
openGauss=# SET paraname TO value;
修改本次会话中的取值。退出会话后,设置将失效。说明:
SET设置的会话级参数优先级最高,其次是ALTER设置的,其中ALTER DATABASE设置的参数值优先级高于ALTER USER设置,这三种设置方式设置的优先级都高于gs_guc设置方式。
###💯例:修改explain_perf_mode参数
###🍀omm 用户登录,查看explain_perf_mode参数
openGauss=# SHOW explain_perf_mode;
explain_perf_mode
-------------------
pretty
(1 row)
openGauss=#
###🍀设置explain_perf_mode参数为normal
###🍀数据库级别的参数
openGauss=# ALTER DATABASE postgres SET explain_perf_mode TO normal;
ALTER DATABASE
openGauss=#
###🍀设置用户级别的参数
openGauss=# ALTER USER omm SET explain_perf_mode TO normal;
ALTER DATABASE
openGauss=#
###🍀设置会话级别的参数
openGauss=# SET explain_perf_mode TO normal;
SET
openGauss=#
###🍀修改后下次会话中生效。再次查看参数值
openGauss=# SHOW explain_perf_mode;
explain_perf_mode
-------------------
normal
(1 row)
openGauss=#
- 方式四、ALTER SYSTEM SET
🌳1、使用ALTER SYSTEM SET修改数据库参数。
🌳2、设置POSTMASERT级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
重启后生效。🌳3、设置SIGHUP级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
立刻生效(实际等待线程重新加载参数略有延迟)。🌳4、设置BACKEND级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
在下次会话中生效。
###🍀设置SIGHUP级别参数audit_enabled。
openGauss=# alter system set audit_enabled to off;
ALTER SYSTEM SET
openGauss=# show audit_enabled;
audit_enabled
---------------
off
(1 row)
###🍀设置POSTMASTER级别参数 enable_thread_pool,将在重启之后生效。
openGauss=# alter system set enable_thread_pool to on;
NOTICE: please restart the database for the POSTMASTER level parameter to take effect.
ALTER SYSTEM SET
🔰 1.4 修改最大连接数量
###🍀修改openGauss数据库主节点的最大连接数
gs_guc set -N all -I all -c "max_connections = 800"
###🍀重启openGauss生效
gs_om -t stop && gs_om -t start
###🍀查看最大连接数
openGauss=# SHOW max_connections;
max_connections
-----------------
800
(1 row)
🔰 1.5设置数据库主节点的客户端认证最长时间
###🍀查看客户端认证的最长时间
openGauss=# SHOW authentication_timeout;
authentication_timeout
------------------------
2min
(1 row)
openGauss=#
###🍀修改数据库主节点的客户端认证最长时间600s,authentication_timeout 取值1-600S
gs_guc reload -N all -I all -c "authentication_timeout = 600s"
###🍀查看客户端认证的最长时间
openGauss=# SHOW authentication_timeout;
authentication_timeout
------------------------
10min
(1 row)
openGauss=#
🔻 四、总结—温故知新
❓ openGauss数据库---运行参数配置
👈【上一篇】 |
💖The End💖 点点关注,收藏不迷路💖
| 【下一篇】👉 |