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参数。)