在访问Postgres数据库时,我得到的错误如下所示
ERROR: could not access status of transaction 69675
DETAIL: Could not open file "pg_clog/0000": No such file or directory.我没有对pg_clog文件夹做任何事情,但是0000文件不在那里。是否有任何方法恢复该文件或以任何方式解决此问题?任何帮助都将不胜感激。
发布于 2019-02-01 10:33:47
您正在经历数据库损坏,您应该从备份恢复。您应该设法弄清楚数据库发生了什么事,这样以后才能防止它发生。
fsync = off这样的危险设置吗?pg_clog目录中有任何文件吗?应该有。发布于 2021-11-11 20:38:13
正如上一次响应中所述,您最好从备份中恢复,但是,我发现这些事务文件的元数据并不存储在与数据相同的位置,当我们在服务器上还原数据时,我们正在进行完全真空的测试,并且需要在真空之前将数据库恢复到早期的状态。在数据完整性不像测试数据库那样重要的情况下,您可以为缺少的事务日志创建空文件,如下所示:
dd if=/dev/zero of=/path/to/db/pg_clog/xxxx bs=256k count=1
chown postgres.postgres /path/to/db/pg_clog/xxxx
chmod go-rwX /path/to/db/pg_clog/xxxx可能有多个缺少的文件,但是如果它只是几个文件,这是一个需要考虑的替代方案。
https://stackoverflow.com/questions/54476564
复制相似问题