Thread: ERROR: cache lookup failed for type 16292881
Since a few days ago we are having problems while performing backup using pg_dump to a PG 8.4 database over a Centos 5.5
There are several databases in this server, but this is the only one that produces this FAIL.
Reported message from pg_dump is:
(...)pg_dump: reading triggers for table "usuario_sistema_externo"pg_dump: reading dependency datapg_dump: saving encoding = UTF8pg_dump: saving standard_conforming_strings = onpg_dump: saving database definitionpg_dump: SQL command failedpg_dump: Error message from server: ERROR: cache lookup failed for type 16292881pg_dump: The command was: SELECT proretset, prosrc, probin, pg_catalog.pg_get_function_arguments(oid) AS funcargs, pg_catalog.pg_get_function_identity_arguments(oid) AS funciargs, pg_catalog.pg_get_function_result(oid) AS funcresult, proiswindow, provolatile, proisstrict, prosecdef, proconfig, procost, prorows, (SELECT lanname FROM pg_catalog.pg_language WHERE oid = prolang) AS lanname FROM pg_catalog.pg_proc WHERE oid = '16292882'::pg_catalog.oidpg_dump: *** aborted because of error
We 've found no one type with this OID.
Looking at a solution in several forums, speaks about objects dropped in replication platforms, but it is not this case.
Any help to know where to look for?
Thank you..
Ramiro Barreca
rbarreca@gmail.com
rbarreca@gmail.com
Ramiro Barreca <rbarreca@gmail.com> writes: > Since a few days ago we are having problems while performing backup using > pg_dump to a PG 8.4 database over a Centos 5.5 You realize of course that 8.4.anything is long out of support, and therefore full of known bugs. But I wonder whether this is even a reasonably late minor release of 8.4. > *pg_dump: Error message from server: ERROR: cache lookup failed for type > 16292881* > *pg_dump: The command was: SELECT proretset, prosrc, probin, > pg_catalog.pg_get_function_arguments(oid) AS funcargs, > pg_catalog.pg_get_function_identity_arguments(oid) AS funciargs, > pg_catalog.pg_get_function_result(oid) AS funcresult, proiswindow, > provolatile, proisstrict, prosecdef, proconfig, procost, prorows, (SELECT > lanname FROM pg_catalog.pg_language WHERE oid = prolang) AS lanname FROM > pg_catalog.pg_proc WHERE oid = '16292882'::pg_catalog.oid* You might learn something productive from select * from pg_proc where oid = '16292882'; The direct problem of course is that oid 16292881 can't be found in pg_type. If you're really lucky, that's just index corruption that could be fixed by reindexing pg_type. regards, tom lane