配置
一、初始化参数
参数类型:
- 显示:在文件中对参数进行设置
- 隐式:文件中没有设置,使用postgres默认值
可以存在多个初始化参数文件
- 静态参数文件:postgresql.conf
- 默认在PGDATA下
- 更改将在下次启动时生效
- 仅在实例启动期间读取
- 手动修改
- 动态参数文件:postgresql.auto.conf
- 默认在PGDATA下
- 由postgres进程维护
ALTER SYSTEM
命令修改的参数保存在该文件
- 能够在关闭和启动期间持续进行更改
- 可以实现自我调整参数值
读取顺序:postgresql.conf->postgresql.auto.conf
| [postgres@pg1 data]$ psql
psql (12.13)
Type "help" for help.
^
postgres=# alter system set archive_mode=on;
ALTER SYSTEM
postgres=# \q
[postgres@pg1 data]$ cat postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
archive_mode = 'on'
|
二、参数生效条件
- sighup:表示需要超级管理员修改,reload就能够生效
- superuser:表示使用超级管理员可以为普通用户、数据库、或者超级管理员自己修改(有些参数是可以针对用户、数据库实例)。
- postmaster:表示需要超级管理员修改,需要重启才能够生效。
- user:表示普通用户可以修改该参数值,立即生效。
| postgres=# select name,setting,context from pg_settings where name in ('port', 'work_mem', 'log_statement', 'log_checkpoints');
name | setting | context
-----------------+---------+------------
log_checkpoints | off | sighup
log_statement | none | superuser
port | 5432 | postmaster
work_mem | 4096 | user
(4 rows)
|