【PostgreSQL-9.6.3】使用pg_settings表查看參數的生效條件
阿新 • • 發佈:2017-09-02
intern name 數據庫 查看 context 影響 pre 無需重啟 per
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表查看參數的生效條件