Docker 中的 PostgreSQL 崩溃恢复记录
在 Docker 中运行的 PostgreSQL 数据库突然无法启动, 错误日志类似这样:
PANIC,XX000,"could not locate...,,,,,,,,""
LOG,00000,"aborting startup due to startup process failure",,,,,,,,,""
这种情况多数情况下是在执行事务时, 数据库被强行关闭导致的...修复的方法是:
如果使用的 PostgreSQL 是 10.x 或更高的的版本, 使用 pg_resetwal DATADIR 来解决;
否则使用 pg_resetxlog DATADIR 来解决;
由于数据库是在...Docker 中运行的, 因此需要按照 Docker 的方式来修复:
使用 pg_resetxlog 或者 pgresetwal 有可能会丢失数据, 启动之后, 需要仔细检查数据库的健康情况。...如果有数据库备份的话, 请尽快进行数还原。