记一次Postgresql异常中断导致的启动失败

由于异常导致了测试服务器的Pg11宕机,启动时候报错

2019-06-11 14:20:08.121 CST [9980] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9981] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9964] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9970] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9965] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9958] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9969] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9959] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9960] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9971] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9968] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9976] 致命错误:  数据库系统启动中
2019-06-11 14:20:08.121 CST [9972] 致命错误:  数据库系统启动中
2019-06-11 14:20:10.711 CST [6567] 日志:  启动进程 (PID 8002) 被信号 6 中断: Aborted
2019-06-11 14:20:10.711 CST [6567] 日志:  由于启动进程失败, 终止启动
2019-06-11 14:20:10.729 CST [6567] 日志:  数据库系统已关闭
2019-06-11 14:33:40.325 CST [7610] 日志:  数据库系统中断;上一次的启动时间是在2019-06-11 14:07:23 CST
2019-06-11 14:33:49.939 CST [7610] 日志:  无法取文件 "./pg_logical/replorigin_checkpoint" 的状态: 没有那个文件或目录
2019-06-11 15:46:24.229 CST [8248] 日志:  数据库系统中断;上一次的启动时间是在2019-06-11 14:07:23 CST
2019-06-11 15:46:55.961 CST [8248] 日志:  3/AAA53290 处的记录长度不合法:想要 24,但得到的是 0
2019-06-11 15:46:55.961 CST [8248] 日志:  无效的主 checkpoint 记录
2019-06-11 15:46:55.961 CST [8248] 比致命错误还过分的错误:  无法找到一个有效的 checkpoint 记录
2019-06-11 15:46:59.764 CST [6724] 日志:  启动进程 (PID 8248) 被信号 6 中断: Aborted
2019-06-11 15:46:59.764 CST [6724] 日志:  由于启动进程失败, 终止启动
2019-06-11 15:46:59.793 CST [6724] 日志:  数据库系统已关闭
2019-06-11 16:03:11.003 CST [8124] 日志:  数据库系统中断;上一次的启动时间是在2019-06-11 14:07:23 CST
2019-06-11 16:03:45.522 CST [8124] 日志:  3/AAA53290 处的记录长度不合法:想要 24,但得到的是 0
2019-06-11 16:03:45.522 CST [8124] 日志:  无效的主 checkpoint 记录
2019-06-11 16:03:45.523 CST [8124] 比致命错误还过分的错误:  无法找到一个有效的 checkpoint 记录
2019-06-11 16:03:49.013 CST [6509] 日志:  启动进程 (PID 8124) 被信号 6 中断: Aborted
2019-06-11 16:03:49.013 CST [6509] 日志:  由于启动进程失败, 终止启动
2019-06-11 16:03:49.030 CST [6509] 日志:  数据库系统已关闭
2019-06-11 16:49:16.784 CST [8195] 日志:  数据库系统中断;上一次的启动时间是在2019-06-11 14:07:23 CST
2019-06-11 16:49:49.393 CST [8195] 日志:  3/AAA53290 处的记录长度不合法:想要 24,但得到的是 0
2019-06-11 16:49:49.393 CST [8195] 日志:  无效的主 checkpoint 记录
2019-06-11 16:49:49.393 CST [8195] 比致命错误还过分的错误:  无法找到一个有效的 checkpoint 记录
2019-06-11 16:49:53.214 CST [6758] 日志:  启动进程 (PID 8195) 被信号 6 中断: Aborted
2019-06-11 16:49:53.214 CST [6758] 日志:  由于启动进程失败, 终止启动
2019-06-11 16:49:53.238 CST [6758] 日志:  数据库系统已关闭
2019-06-11 17:41:24.320 CST [11165] 日志:  数据库系统中断;上一次的启动时间是在2019-06-11 14:07:23 CST
2019-06-11 17:41:24.388 CST [11165] 日志:  3/AAA53290 处的记录长度不合法:想要 24,但得到的是 0
2019-06-11 17:41:24.388 CST [11165] 日志:  无效的主 checkpoint 记录
2019-06-11 17:41:24.388 CST [11165] 比致命错误还过分的错误:  无法找到一个有效的 checkpoint 记录
2019-06-11 17:41:25.244 CST [11163] 日志:  启动进程 (PID 11165) 被信号 6 中断: Aborted
2019-06-11 17:41:25.244 CST [11163] 日志:  由于启动进程失败, 终止启动
2019-06-11 17:41:25.284 CST [11163] 日志:  数据库系统已关闭

应该是事务执行中导致的日志文件丢失,少了启动必须的文件 

./pg_logical/replorigin_checkpoint

然后psql

bash-4.2$ psql
psql: 无法联接到服务器: 没有那个文件或目录
服务器是否在本地运行并且在 Unix 域套接字
"/var/run/postgresql/.s.PGSQL.5432"上准备接受联接?
bash-4.2$ ./pg_ctl start
pg_ctl: 没有指定数据目录, 并且没有设置 PGDATA 环境变量

解决方案

步骤0:先用superuser登录

su postgres

步骤一:重置数据文件

./pg_resetwal -f /var/lib/pgsql/11/data

步骤二:启动

./pg_ctl start -D /var/lib/pgsql/11/data/

 

posted @ 2019-06-11 18:10  一直在飞  阅读(3474)  评论(0编辑  收藏  举报