1.查看系统参数
1)查看全部参数
可以使用 SHOW ALL 命令来查看所有系统配置参数的取值,如果是在shell界面,可以运行如下命令:
$ psql -c 'show all' -d postgres
如果是在psql界面,可以运行如下命令:
postgres=# show all;
2)查看单个参数设置
运行show命令,只能查看master节点有关的参数设置。如果要查看整个集群中某一个参数的设置,可以使用 gpconfig 组件。例如,查看最大连接数:
$ gpconfig --show max_connections
2.在会话中设置系统参数
任何会话级别的参数都可以在活动会话中通过 SET 命令设置,参数设置会在接下来的会话中生效,直到会话结束或者 RESET 命令出现。另外,会话级别的参数设置会覆盖上层角色级别的参数。例如:
postgres=# set work_mem to '200MB';
WARNING: "work_mem": setting is deprecated, and may be removed in a future release.
SET
postgres=# reset work_mem;
WARNING: "work_mem": setting is deprecated, and may be removed in a future release.
RESET
3.在角色级别设置系统参数
会话级别的参数如果提高层次,在用户级别进行设置,那么被该用户建立的会话都会使用该设置参数。另外,角色级别的参数设置会向上覆盖数据库级别的参数。设置时可以通过 ALTER 命令进行添加。例如:
postgres=# alter role dgadmin set search_path to public;
ALTER ROLE
4.在数据库级别设置系统参数
想要让一个参数影响到整个数据库,那么可以通过配置 postgresql.conf 文件进行参数设置。此时参数配置在生效后,作用于整个数据库,如果该参数在用户级别重新设置,那么他会被用户级别的设置值代替;同理,会话级别的设置会代替用户级别和数据库级别。
postgresql.conf 文件通常放在$MASTER_DATA_DIRECTORY
目录下。
在生产过程中,可以根据实际需求来定义不同级别的参数,对数据库做最优化的定义,让每个SQL都能发挥最好的性能。