Обсуждение: 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