gpt4 book ai didi

linux - PostgreSQL 无法打开文件 "base/xxxx/xxxxx"没有这样的文件或目录

转载 作者:太空狗 更新时间:2023-10-29 12:12:12 25 4
gpt4 key购买 nike

最近我的 linux 机器出现硬件故障,在修复硬件问题并恢复我的 linux 机器后,当我对我的一个表执行查询时,返回以下错误。

ERROR: could not open file "base/17085/281016": No such file or directory.

在postgresql/base/17085目录下查看,281016文件不存在。

如果我使用以下命令手动创建文件,问题会得到解决吗?或者这是一种糟糕的做法,会在未来带来更多麻烦?

#touch 281016
#chown postgres:postgres 281016
#chmod 600 281016

最佳答案

简短回答:从备份中恢复。然后调查您的设置,您正在运行一个不安全的系统。

长答案:

假设您没有备份但需要数据库,您已经学到了宝贵的一课。采取并检查您的备份。

如果它是一个简单的 SELECT * FROM bad_table 失败,那么它就是有问题的表。如果没有,立即COPY 数据出来,你很幸运,它只是一个被破坏的索引。

然后转储所有剩余的表。

然后进行一些检查以确保数据处于正常状态,然后再将其恢复并重新投入生产。

现在 - 除非 PostgreSQL 中的错误(不太可能)这应该是不可能的。由于我们正在谈论丢失的文件,我猜你的磁盘报告数据是 flushed and synced当它真的不是。检查你的fsync postgresql.conf 中的设置。

关于linux - PostgreSQL 无法打开文件 "base/xxxx/xxxxx"没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39211130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com