如何将postgres 9.3 Slave转换为读写而不影响Master

时间:2017-04-30 05:03:35

标签: postgresql replication

我在Ubuntu上有一个Postgres 9.3 Master-Slave流复制设置 我想通过打破复制将Slave转换为读写。但是,我不希望Master以任何方式受到影响,因为它是一个关键的 Production 。我想要的只是拥有Master的克隆,以便我可以测试pg_upgrade。

我可以运行一个" pg_ctl提升"在奴隶上,打开奴隶进行读/写?运行" pg_ctl是否促进"对奴隶有什么影响吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

来自docs

  

要触发日志传送备用服务器的故障转移,请运行pg_ctl   使用指定的文件名和路径提升或创建触发器文件   通过recovery.conf中的trigger_file设置。如果你正在计划   使用pg_ctl promote进行故障转移,不需要trigger_file。

所以pg_ctl promote -D data_dirtouch trigger_file同等地促进了奴隶。在发件人停止发送的意义上,主人受到被提升的影响。从主站流出的其他从站也以相同的方式受到影响。推广是一项标准行动。

唯一具体案例would be cascaded replication

  

如果上游备用服务器被提升为新的主服务器,   下游服务器将继续从新主服务器流式传输   recovery_target_timeline设置为' latest'。

如果你没有任何下游" sublaves",请勇敢地推广它。