【PostgreSQL-9.6.3】使用pg_settings表查看参数的生效条件

PostgreSQL数据库的配置参数都在postgresql.conf文件中,此文件的目录为数据库的数据目录($PGDATA)。这些参数有些是直接修改就能够生效,有些须要重启数据库才能生效,而有些根本就不能修改。PG数据库把这些参数分为如下几类:sql

internal:这类参数为只读参数。有的是postgres程序写死的,有些是在安装数据库时intdb时设置好的。数据库

postmaster:这类参数须要重启数据库才能生效。session

sighup:不须要重启数据库,但要向postmaster进程发送sighup信号,即须要pg_ctl reload命令。post

backend:无需重启数据库,只需向postmaster进程发送sighup信号。但新的配置值只能在以后的新链接中生效,已有链接中这些参数值不会改变。spa

superuser:这类参数能够由超级用户使用set修改。参数设置后只会影响超级用户自身的session配置,不会影响其余用户。postgresql

user:普通用户使用set设置,这类参数修改后和superuser类参数同样,也是只影响自身session。code

咱们能够经过查询pg_settings表的context字段值来查看参数是否须要重启数据库生效。以下:blog

test=# select name,context from pg_settings where name like 'wal_level'; name | context -----------+------------
 wal_level | postmaster (1 row)

 

The End!进程

2017-09-02io

相关文章
相关标签/搜索