Postgresql
如何在 ubuntu/debian/linux 上檢查 pg_hba.conf 和其他 postgresql conf 文件的語法?
很多時候,postgresql 服務在一些配置更改後無法重啟。
是否有任何命令行工具允許在重新載入/重新啟動服務之前檢查
pg_hba.conf
其他 pg*.conf
文件的語法,或者在任何配置更改之後甚至更好?
你可以執行:
postgres=# SELECT pg_reload_conf(); pg_reload_conf ---------------- t (1 row) postgres=#
..從內部
psql
。或過程kill -HUP
。postmaster
任何配置驗證錯誤都會被放入 Postgres 日誌文件,並且不會重新載入配置。範例日誌:
2016-10-05 10:31:57 BST LOG: received SIGHUP, reloading configuration files 2016-10-05 10:31:57 BST LOG: invalid connection type "awdawdawdawd" 2016-10-05 10:31:57 BST CONTEXT: line 1 of configuration file "/etc/postgresql/9.3/main/pg_hba.conf" 2016-10-05 10:31:57 BST WARNING: pg_hba.conf not reloaded
我不知道有一個工具只檢查配置的有效性,但是這裡的 pgsql-hackers 郵件列表中有一個執行緒討論了一個驗證器的提議。