我收到这个奇怪的错误
Caused by: org.postgresql.util.PSQLException: ERROR: could not open
relation base/17369/1684: No such file or directory
我如何从中恢复?有任何想法吗 ?
谢谢
我收到这个奇怪的错误
Caused by: org.postgresql.util.PSQLException: ERROR: could not open
relation base/17369/1684: No such file or directory
我如何从中恢复?有任何想法吗 ?
谢谢
您丢失了与表 1684 和数据库 17369 相关的文件。检查目录 base/17369 中名称为 1684 的存在文件。
您可以确定它是哪个表:
1)获取数据库名称:select * from pg_database where oid=17369
2)获取表名(连接到受影响的数据库):select * from pg_class where oid=1684
可能你能做的不多了。只能从备份中恢复。
这可能有多种原因。如果合理,最好的选择是在通过诊断运行硬件后从备份中恢复。
如果不希望从备份中恢复,那么您需要停止 Postmaster,复制您的数据库,并尽快获得专业帮助。数据可能会或可能不会恢复,您需要知道这一点。此外,我建议在克雷格指向您的链接之外,在这种情况下(文件可能被删除),最好从副本中恢复整个文件系统的块级副本,在另一个系统上。
FWIW 我已经看到 PostgreSQL 在严重滥用的硬件上运行,并且当硬件超出限制时看到了许多索引损坏问题(例如,在热、不通风的壁橱中高于门级别的数据库服务器),但这看起来不像一个(索引损坏相对容易修复,但通常错误消息有点不同)。
现在,另外,可以使用当前数据库和备份来恢复数据。显然,在有人尝试之前我们也不会知道这一点。