我正在尝试使用以下命令(省略细节)创建postgres数据库的备份:
$ pg_dump -h $host -p 5432 -U $user $db > db.sql
一段时间后,我收到一个错误信息(已格式化)。
pg_dump: [archiver (db)] query failed: ERROR: cache lookup failed for index 1184605879
pg_dump: [archiver (db)] query was:
SELECT t.tableoid,
t.oid,
t.relname AS indexname,
pg_catalog.pg_get_indexdef(i.indexrelid) AS indexdef,
t.relnatts AS indnkeys,
i.indkey,
i.indisclustered,
false AS indisreplident,
t.relpages,
c.contype,
c.conname,
c.condeferrable,
c.condeferred,
c.tableoid AS contableoid,
c.oid AS conoid,
pg_catalog.pg_get_constraintdef(c.oid, false) AS condef,
(SELECT spcname FROM pg_catalog.pg_tablespace s WHERE s.oid = t.reltablespace) AS tablespace,
t.reloptions AS indreloptions
FROM pg_catalog.pg_index i
JOIN pg_catalog.pg_class t ON (t.oid = i.indexrelid)
LEFT JOIN pg_catalog.pg_constraint c ON (i.indrelid = c.conrelid AND i.indexrelid = c.conindid AND c.contype IN ('p','u','x'))
WHERE i.indrelid = '1184605870'::pg_catalog.oid AND i.indisvalid AND i.indisready
ORDER BY indexname
我随后验证了pg_index
中的索引ID不存在。是否有某种修复方法,或者忽略此错误并继续进行,以便我可以继续导出非pg_catalog
数据?