我收到生产数据库的以下错误。我是PostgreSQL数据库的新手。我需要帮助才能解决以下错误。
2015-10-28 10:25:04,154 [monitor-thread-pool1-thread-6] ERROR [org.hibernate.util.JDBCExceptionReporter] ERROR: could not open segment 2 of relation 1663/98913/98947 (target block 427542): No such file or
directory
server1=> select oid::regclass from pg_class where relfilenode =98947;
oid
alert_instance_history
(1 row)
server1=> select oid::regclass from pg_class where relfilenode =98913;
oid
(0 rows)
server1=> select * from pg_database where oid=1663;
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datlastsysoid | datvacuumxid | datfrozenxid | dattablespace | datconfig | datacl
---------+--------+----------+---------------+--------------+--------------+---------------+--------------+--------------+---------------+-----------+--------
(0 rows)
1. server1=> select version();
version
--------------------------------------------------------------------------------------------
PostgreSQL 8.1.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
(1 row)
Q1。错误说2关系,但我只能找到98947,我怎么能检查其他段? Q2。我刚刚在这张表上选择了alert_instance_history,我可以看到这张表中的记录。我需要检查其他任何东西吗?
server1=> select min(eventtimestamp) from alert_instance_history;
警告:无法写入1663/98913/98947的第427542条细节: 多次失败---写入错误可能是永久性的。错误:不能 关系1663/98913/98947的开放段2(目标块427542):否 这样的文件或目录语境:写关系的块427542 1663/98913/98947 server1 => server1的=>重新索引表 alert_instance_history;警告:无法写入块427542 1663/98913/98947细节:多次故障---写入错误可能是 常驻。错误:无法打开关系的第2段 1663/98913/98947(目标块427542):没有这样的文件或目录 背景:写作关系1663/98913/98947的块427542
Q3。什么是可靠的选项必须恢复,我可以只恢复一个表吗?
使用pg_dump
实用程序完成此数据库的备份。