postgresql修改配置生效方法

對於配置服務器,,太多時候咱們在Linux中作的操做是,配置*.conf文件,而後重啓服務。而不少服務都具備reload功能,而可是具體到某個配置,有時候直接說出需不須要重啓服務而使得配置生效,這並非一件容易的事情。sql

可是,postgresql卻講這部分能用在數據表中顯式的告訴了咱們:數據庫

postgres# select name, context from pg_settings;服務器

 

name context
archive_command

sihuppost

archive_mode postmaster
block_size internal
log_connections backend
log_min_duration_statement superuser
search_patch user

 

  • internal: 編譯期間的設置,只有從新編譯才能生效。postgresql

  • postmaster: 只有服務重啓才能生效。io

  • sighup: 給服務器發送HUP信號會是服務器從新加載postgresql.conf配置,能夠當即生效。編譯

  • backend: 與sighup相似,可是不影響正在運行的會話,只在新會話中生效table

  • superuser: 使用superuser(如postgres)才能更改,不用從新加載全部配置便可生效。ast

  • user: 單個會話用戶能夠在任意時間作修改,只會影響該會話。class

 

從新加載數據庫配置的方法有三種:

1. 用超級用戶運行

postgres=# SELECT pg_reload_conf();


2. 用UNIX的kill手動發起HUP信號

$kill -HUP PID

 

3.使用pg_ctl命令觸發SIGHUP信號

$pg_ctl reload

相關文章
相關標籤/搜索