【PostgreSQL-9.6.3】使用pg_settings表查看參數的生效條件

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

相關文章
相關標籤/搜索