环境
- 使用k8s部署的airflow
- 其中一个组件为postgres
现象
- 服务器异常重启后,发现airflow无法正常运行
- 检查pod相关状态后,发现是其他pod无法正常连接postgres组件服务
- 检查postgres对应组件服务日志,发现有报错 could not read file “pg_logical/replorigin_checkpoint” 以及 shutdown等
- 判断postgres服务异常
原因
- postgres服务异常退出时,没有来得及写入逻辑复制数据到pg_logical/replorigin_checkpoint文件
修复
- 删除pg_logical/replorigin_checkpoint文件,重启数据库
补充
- pg_logical/replorigin_checkpoint是postgres应用逻辑复制时写入的文件,如果我们需要用到逻辑复制,则遇到异常时,通过删除来恢复。
- 关闭逻辑复制方法:设置参数max_replication_slots=0
0 条评论