最近我在我的linux机器上发生了硬件故障,并修复硬件问题并将我的linux机器恢复后,当我执行查询我的表,下面的错误返回。PostgreSQL无法打开文件“base/xxxx/xxxxx”没有这样的文件或目录
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
感谢您的回答理查德:) 这是我的测试系统,这里没有太多的数据,并同意你从备份恢复将是最好的选择。 只是想知道如果我们可以手动创建丢失的文件,如果出现这样的问题,可以影响这样的程序? –
您可以创建一个空文件,但是您的数据库已损坏。有时,用零填充损坏的磁盘块或者同样扩展文件会很有用。然后,您可以倾倒在受损部位周围尽可能地恢复。如果不值得花费很多努力,那么最好从上次备份中恢复并注销任何更新。 –