(PostgreSQL)错误:无法打开关系

(PostgreSQL)错误:无法打开关系,sql,postgresql,Sql,Postgresql,我犯了这个奇怪的错误 Caused by: org.postgresql.util.PSQLException: ERROR: could not open relation base/17369/1684: No such file or directory 我如何从中恢复? 有什么想法吗 谢谢,这可能有很多原因。如果合理的话,您的最佳选择是在通过诊断运行硬件后从备份中恢复 如果不希望从备份中恢复,则需要停止Postmaster,制作数据库副本,并尽快获得专业帮助。数据可能是可恢复的,也可能

我犯了这个奇怪的错误

Caused by: org.postgresql.util.PSQLException: ERROR: could not open
relation base/17369/1684: No such file or directory
我如何从中恢复? 有什么想法吗


谢谢,这可能有很多原因。如果合理的话,您的最佳选择是在通过诊断运行硬件后从备份中恢复

如果不希望从备份中恢复,则需要停止Postmaster,制作数据库副本,并尽快获得专业帮助。数据可能是可恢复的,也可能是不可恢复的,您需要了解这一点。此外,除了Craig向您指出的链接之外,我还建议您在这样的情况下(文件可能被删除),在另一个系统上从副本(最好是整个文件系统的块级副本)恢复

FWIW我看到PostgreSQL在严重滥用的硬件上运行,并且在硬件被推到极限之外时看到了许多索引损坏问题(例如,在一个热的、不通风的壁橱中,数据库服务器高于门级),但这看起来不像(索引损坏相对容易修复,但通常错误消息有点不同)


此外,现在还可以使用当前数据库和备份恢复数据。显然,我们也不会知道这一点,直到有人尝试它。

您丢失了与表1684和数据库17369相关的文件。检查状态文件 目录base/17369中的名称为1684

您可以确定它是哪个表:

1) 获取数据库名称:
从pg_数据库中选择*,其中oid=17369

2) 获取表名(连接到受影响的数据库):
从pg_类中选择*,其中oid=1684


也许你已经无能为力了。仅从备份还原。

由什么查询生成?这可能是次要的,但假设不是。请立即阅读并遵循以下说明:。然后编辑您的问题,包括基本信息,如Pg版本、导致错误的命令、PostgreSQL日志文件的内容、操作系统、文件系统、最近的断电事件、崩溃、磁盘问题、,等等。还显示
pg_test_fsync
的输出和
postgresql.conf
中的
fsync
参数的值。很可能是磁盘故障或文件意外删除。按Craig Ringer所说的做。