我想有一些建议,我必须遵循的步骤,为下面的PostgreSQL设置进行DR演练。
环境设置
我的生产环境中有两个PostgreSQL服务器,它们都是使用pgpool集群的。(参考:https://www.pgpool.net/docs/42/en/html/example-cluster.html -我使用的是带有两个节点的缩小设置)
在我的DR环境中,我有一个单独的PostgreSQL服务器,它从生产环境中的节点1复制数据。WAL流用于实现从生产节点1到R的复制。
postgresql版本- 13 pgpool版本- 4.2

DR钻孔活动
第一阶段:在DR演练的故障转移阶段,生产PostgreSQL服务器将停止,流量将切换到DR环境。
第二阶段:在DR演练的回落阶段,生产PostgreSQL服务器将被重新启动,流量将被切换回生产环境。在切换回流量之前,生产PostgreSQL集群应该有更新的数据记录。
问题
Q1:在DR演练的故障转移阶段,如何使DR的PostgreSQL服务器接受写入请求?(目前,DR只支持读取请求)
Q2:在回退阶段,产品的PostgreSQL集群应该使用DR. .的最新数据进行恢复,我如何做到这一点?我也对我在退步阶段应该遵循的高级别步骤表示怀疑。
提前谢谢。
发布于 2022-05-23 05:57:37
对于第一个问题:使用pg_ctl promote、pg_pronote数据库函数或使用在备用上配置的触发器文件来提升备用。
对于第二个问题:您可以尝试pg_rewind,如果不起作用,可以使用pg_basebackup从头开始构建一个新的备用设备。
https://stackoverflow.com/questions/72339352
复制相似问题