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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於gcc、make和CMake的區別GC
- 關於stable_sort()和sort()的區別:
- 關於java的引用和c++的區別JavaC++
- 關於PHP this 和 self 呼叫類方法的區別PHP
- 關於Ajax和websocket的區別以及使用場景!Web
- 關於CATALINA_HOME 和 CATALINA_BASE 的區別
- 關於Vue和React區別的一些筆記VueReact筆記
- Postgresql與MySQL的區別MySql
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- nginx關於root與alias的區別Nginx
- 關於C與C++的區別C++
- Android關於buildToolVersion與CompileSdkVersion的區別AndroidUICompile
- 關於Ae和Pr的的區別,你瞭解對了嗎?
- 12C關於CDB、PDB引數的區別和總結
- Vuejs中關於computed、methods、watch的區別VueJS
- Cookie 和 Session 關係和區別CookieSession
- WebGL和OpenGL的區別及關係Web
- 滑鼠CPI和DPI是什麼?關於滑鼠DPI和CPI的區別詳解
- http中session和cookie的區別和關係HTTPSessionCookie
- 關於機器學習和AI的區別最經典的解釋機器學習AI
- rust trait 關聯型別和泛型的區別RustAI型別泛型
- out關鍵字和ref關鍵字的區別
- HashTable、ConcurrentHashMap、TreeMap、HashMap關於鍵值的區別HashMap
- Python 關於TCP簡介以及與UDP的區別PythonTCPUDP
- ../和./和/的區別
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- 關於物件導向和麵向過程本質的區別(個人感悟)物件
- CDB和PDB關於使用者建立和使用者許可權區別
- know和know about的區別 基於coca corpus
- ||和??的區別
- /*和/**的區別
- postgresql關於許可權的總結SQL
- Linux作業系統關於ftp,samba,nfs的區別Linux作業系統FTPSambaNFS
- [20180917]關於分析函式的range與rows的區別.txt函式
- [ASP.NET]關於DOT NET的IIS配置LocalHost訪問和127.0.0.1訪問的區別ASP.NETlocalhost127.0.0.1
- 關於Java和C#的型別對比JavaC#型別