数据库--PG--高可用异常节点手动修复的方法

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

数据库--PG--高可用异常节点手动修复的方法


1 异常现象


从主机添加内存维护操作,由于维护过程时间比较长,导致pg wal已经归档,pg wal目录的wal已经清理掉,从节点无法接受到对于的wal日志,PAF自动修复重建从库的方案失败




2 根本原因


pg_wal保留日志数量太少导致同步异常需要手工重建


3 解决方案


3.1 长期方案

调整wal_keep_segments参数,保留足够多walpg_wal目录,比如128,或者256


3.2 命令重建从节点方法(常规做法)


3.2.1 异常节点执行,清理节点和目录

pg_autoctl drop node --pgdata /kingdee/postgres/pg_data –destroy


3.2.2 重建

pg_autoctl create postgres --hostname 10.0.43.21 --auth trust --no-ssl --monitor 'postgres://autoctl_node@10.0 .43.22:5433/pg_auto_failover?sslmode=prefer'


3.3 手动重建从节点方法(特殊做法)


如果上面命令执行有问题可以采用面的方法清理,特殊情况下才手工清理

比如下面的情况,执行create无法成功,一直重复备份恢复



3.3.1清除异常node节点


异常节执行

pg_autoctl drop node --pgdata /kingdee/postgres/pg_data –destroy

monitor节点执行

pg_autoctl drop node --name=node_1 --force


3.3.2清理掉pg_autoctl show file 里面的配置目录


rm -rf /home/postgres/.config/pg_autoctl

rm -rf /home/postgres/.local/share/pg_autoctl


3.3.3清理pg_data数据


rm -rf $PGDATA


3.3.4执行重做异常从节点


pg_autoctl create postgres --hostname 10.0.43.21 --auth trust --no-ssl --monitor 'postgres://autoctl_node@10.0 .43.22:5433/pg_auto_failover?sslmode=prefer'



数据库--PG--高可用异常节点手动修复的方法

1 异常现象从主机添加内存维护操作,由于维护过程时间比较长,导致pg wal已经归档,pg wal目录的wal已经清理掉,从节点无法接受到对于的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息