pg12.0的recovery.conf
官方12.0發行說明裏對recovery.conf有如下聲明:
Move recovery.conf settings into postgresql.conf (Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
recovery.conf is no longer used, and the server will not start if that file exists.
recovery.signal and standby.signal files are now used to switch into non-primary mode.
The trigger_file setting has been renamed to promote_trigger_file. The standby_mode
setting has been removed.
包含幾點:
1、recovery.conf配置文件不再使用,recovery.conf中的配置合併到postgresql.conf中。
2、如果存在recovery.conf,服務器將無法啓動。
3、新增 recovery.signal 標識文件,標識數據庫處於 recovery 模式。
4、新增加 standby.signal 標識文件,標識數據庫處於 standby 模式。
5、trigger_file 參數更名爲 promote_trigger_file。
6、standby_mode參數不再支持。
pg_basebackup
12 版本pg_basebackup
命令的 -R 參數的效果和之前不同,主要體現在:
- 命令執行後在 $PGDATA 目錄創建 standby.signal 標識文件,文件內容爲空
- 命令執行後在 $PGDATA 目錄的 postgresql.auto.conf 文件中添加 primary_conninfo 參數信息
主備切換
pg12三種方法可以進行備升主:
1、pg_ctl promote
2、pg_promote
3、創建觸發器文件(postgresql.conf文件配置的promote_trigger_file參數。)