pg12开始新增了一个pg_promote()函数,可以通过SQL命令激活备库。

pg_promote()语法

pg_promote(wait boolean DEFAULT true, wait_seconds integer DEFAULT 60)

两个参数:

  • wait:表示是否等待备库的 promotion 完成或者 wait_seconds 秒之后返回成功,默认值为 true。
  • wait_seconds:等待时间,单位秒,默认 60秒 切换实例

备库操作:激活备库

方式一:pg12开始及以后可用pg_promote()函数

select pg_promote(true,60);

方式二:在promote模式中,运行在指定数据目录中的后备服务器被命令退出恢复并且开始读写操作

pg_ctl promote -D $PGDATA