我正在尝试使用以下命令创建 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
然后我验证了索引 IDpg_index
不存在。有什么方法可以解决这个问题,或者有什么方法可以忽略这个错误并继续,这样我就可以继续导出非pg_catalog
data?