postgresql關於postgresql.auto.conf和postgresql.conf的區別
postgresql.auto.conf的優先順序高於postgresql.conf,如果一個引數同時存在postgresql.auto.conf和postgresql.conf裡面,系統會先讀postgresql.auto.conf的引數配置。使用alter system set修改的是postgresql.auto.conf檔案的內容,postgresql.conf則是透過文字編輯方式修改。比如執行alter system set max_wal_size=default將引數設回 default 時,postgresql.auto.conf檔案裡的max_wal_size這項配置會被刪除,重新用回postgresql.conf檔案的設定。
postgresql.conf檔案的引數後面有# (change requires restart),表示必須重啟才能生效,使用select pg_reload_conf()或pg_ctl reload不行。
執行alter system set max_wal_size=2500;
發現修改的是postgresql.auto.conf檔案
執行select pg_reload_conf();同樣的引數,優先載入的是postgresql.auto.conf檔案裡面的引數配置
重啟postgresql後,同樣的引數,優先使用的postgresql.auto.conf檔案裡面的引數配置
手工修改postgresql.auto.conf檔案,執行select pg_reload_conf()會載入postgresql.auto.conf檔案
手工修改postgresql.auto.conf檔案,重啟postgresql會載入postgresql.auto.conf檔案
案例1
執行select pg_reload_conf();同樣的引數,優先載入的是postgresql.auto.conf檔案的配置
-bash-4.2$ cat /pgdata/postgresql.conf |grep max_wal_size
max_wal_size = 2GB
-bash-4.2$ vi /pgdata/postgresql.auto.conf
max_wal_size = '2700'
-bash-4.2$ psql
postgres=# show max_wal_size;
max_wal_size
--------------
3000MB
(1 row)
postgres=# select pg_reload_conf();
pg_reload_conf
----------------
t
(1 row)
postgres=# show max_wal_size;
max_wal_size
--------------
2700MB
(1 row)
案例2
重啟postgresql,同樣的引數,優先載入的是postgresql.auto.conf檔案的配置
-bash-4.2$ cat /pgdata/postgresql.conf |grep max_wal_size
max_wal_size = 2GB
-bash-4.2$ vi /pgdata/postgresql.auto.conf
max_wal_size = '5200'
-bash-4.2$ psql
postgres=# show max_wal_size;
max_wal_size
--------------
2700MB
(1 row)
-bash-4.2$ pg_ctl restart -D /pgdata/
-bash-4.2$ psql
psql (11.3)
Type "help" for help.
postgres=# show max_wal_size;
max_wal_size
--------------
5200MB
(1 row)
案例3
將引數值修改為default,則會清除/pgdata/postgresql.auto.conf中配置,重新載入時會使使用postgresql.conf 配置
-bash-4.2$ cat /pgdata/postgresql.conf |grep max_wal_size
max_wal_size = 2GB
-bash-4.2$ vi /pgdata/postgresql.auto.conf
max_wal_size = '5200'
-bash-4.2$ psql
postgres=# show max_wal_size;
max_wal_size
--------------
5200MB
postgres=# alter system set max_wal_size=default;
ALTER SYSTEM
postgres=# show max_wal_size;
max_wal_size
--------------
5200MB
postgres=# select pg_reload_conf();
pg_reload_conf
----------------
t
postgres=# show max_wal_size;
max_wal_size
--------------
2GB
-bash-4.2$ cat /pgdata/postgresql.conf |grep max_wal_size
max_wal_size = 2GB
-bash-4.2$ cat /pgdata/postgresql.auto.conf |grep max_wal_size
-bash-4.2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2672741/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於HashMap和Hashtable的區別HashMap
- 關於gcc、make和CMake的區別GC
- 關於stable_sort()和sort()的區別:
- 關於java的引用和c++的區別JavaC++
- 關於Ajax和websocket的區別以及使用場景!Web
- 關於記憶體中棧和堆的區別記憶體
- Postgresql與MySQL的區別MySql
- 關於CI,ASCS,DI的區別
- 關於sysdba,sysoper,dba的區別
- 關於Vue和React區別的一些筆記VueReact筆記
- 關於機器學習和AI的區別最經典的解釋機器學習AI
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- nginx關於root與alias的區別Nginx
- 關於C與C++的區別C++
- 關於 in與exist , not in與not exist 的區別
- 關於JSF與Struts的區別JS
- 關於企業級應用和web開發的區別Web
- 關於Ae和Pr的的區別,你瞭解對了嗎?
- 對於java中的"\"和"/" 區別Java
- 12C關於CDB、PDB引數的區別和總結
- Cookie 和 Session 關係和區別CookieSession
- WebGL和OpenGL的區別及關係Web
- 滑鼠CPI和DPI是什麼?關於滑鼠DPI和CPI的區別詳解
- http中session和cookie的區別和關係HTTPSessionCookie
- 關於CATALINA_HOME 和 CATALINA_BASE 的區別
- 關於oracle10G標準版和企業版的區別Oracle
- out關鍵字和ref關鍵字的區別
- 關於HashSet與TreeSet的區別與聯絡
- 關於String與StringBuffer的區別
- 關於重定向符>>與>的區別與作用
- 關於rman裡面的from 與until的區別
- 水煮oracle33---關於oracle中segment、schema和user區別Oracle
- 關於MySQL與SQLLite的GroupBy排序原理的區別MySql排序
- 關於物件導向和麵向過程本質的區別(個人感悟)物件
- rust trait 關聯型別和泛型的區別RustAI型別泛型
- Android關於buildToolVersion與CompileSdkVersion的區別AndroidUICompile
- HashTable、ConcurrentHashMap、TreeMap、HashMap關於鍵值的區別HashMap
- Vuejs中關於computed、methods、watch的區別VueJS