postgresql修改配置生效方法

对于配置服务器,,太多时候我们在Linux中做的操作是,配置*.conf文件,然后重启服务。而很多服务都具有reload功能,而但是具体到某个配置,有时候直接说出需不需要重启服务而使得配置生效,这并不是一件容易的事情。

但是,postgresql却讲这部分能用在数据表中显式的告诉了我们:

postgres# select name, context from pg_settings;

 

namecontext
archive_command

sihup

archive_modepostmaster
block_sizeinternal
log_connectionsbackend
log_min_duration_statementsuperuser
search_patchuser

 

  • internal: 编译期间的设置,只有重新编译才能生效。

  • postmaster: 只有服务重启才能生效。

  • sighup: 给服务器发送HUP信号会是服务器重新加载postgresql.conf配置,可以立即生效。

  • backend: 与sighup类似,但是不影响正在运行的会话,只在新会话中生效

  • superuser: 使用superuser(如postgres)才能更改,不用重新加载所有配置即可生效。

  • user: 单个会话用户可以在任意时间做修改,只会影响该会话。

 

重新加载数据库配置的方法有三种:

1. 用超级用户运行

postgres=# SELECT pg_reload_conf();

2. 用UNIX的kill手动发起HUP信号

$kill -HUP PID

 

3.使用pg_ctl命令触发SIGHUP信号

$pg_ctl reload

    原文作者:PostgreSQL
    原文地址: https://www.cnblogs.com/chjbbs/p/6484295.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞