Azure Database for Postgres时间点还原功能异常问题咨询
Azure Database for PostgreSQL 时间点还原异常修复步骤
问题根因定位
你遇到的还原实例包含晚于还原点数据、与原实例实时同步的问题,在Basic层实例中常见三类原因:错误创建只读副本而非还原实例、逻辑复制配置残留、Azure底层备份元数据索引异常,按以下优先级排查即可解决:
排查修复步骤
第一步:确认实例身份,排除连接错误
分别登录原实例
database-x和还原实例database-x-restore--2021-09-25t09-00-00z,执行以下两个命令校验身份:-- 验证实例IP,两个实例返回结果必须不同 SELECT inet_server_addr(); -- 验证实例角色,还原实例必须返回none,返回replica说明是只读副本 SHOW azure.replication_role;如果确认是错误创建了只读副本,删除当前异常实例后重新走时间点还原流程即可。
第二步:清理异常逻辑复制配置
Basic层虽不支持官方只读副本,但支持用户手动配置逻辑复制,若原实例配置了指向还原实例的复制规则,会导致数据持续同步:
- 原实例执行命令查看是否存在指向还原实例的复制槽:
SELECT slot_name, plugin FROM pg_replication_slots;- 还原实例执行命令查看是否存在订阅原实例的配置:
SELECT subname, subconninfo FROM pg_subscription;若存在对应配置,执行
DROP SUBSCRIPTION 订阅名;和SELECT pg_drop_replication_slot('复制槽名');删除即可停止同步。第三步:修正还原点时区偏差
Azure Portal还原页面默认显示浏览器本地时区,你指定的还原点
2021-09-25T09:00:00Z为UTC时间,需要确认你选择的还原点与预期回退时间的时区对齐,避免时区差导致实际还原时间晚于预期。第四步:触发强制冷还原
若上述排查无异常,说明是Azure底层备份的WAL归档索引异常,可通过以下操作触发正确还原:
- 删除所有已创建的异常还原实例
- 选择比你预期还原时间早至少1小时的UTC时间点重新发起还原
- 还原完成后第一时间限制实例公网访问,验证数据是否符合还原点预期
内容的提问来源于stack exchange,提问作者papakpmartin
相关产品推荐
相关产品推荐

