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

Posted 数据库小学生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL-9.6.3使用pg_settings表查看参数的生效条件相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

我们可以通过查询pg_settings表的context字段值来查看参数是否需要重启数据库生效。如下:

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

 

The End!

2017-09-02

以上是关于PostgreSQL-9.6.3使用pg_settings表查看参数的生效条件的主要内容,如果未能解决你的问题,请参考以下文章

源码安装PostgreSQL

PostGreSQL数据库安装教程

测试使用

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇