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