Re: ERROR: fmrg_info:Function 16556: cache lookup filed

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Nicolas Recabarren <nrecabarren(at)adexus(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ERROR: fmrg_info:Function 16556: cache lookup filed
Date: 2005-07-28 14:59:04
Message-ID: 20050728145904.GA31409@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, Jul 28, 2005 at 10:15:38AM -0400, Nicolas Recabarren wrote:

Por favor no me respondas en privado. Manda copia a la lista. Para eso
está.

> Borrar la funcion y crearla nuevamente es botar la funcion, si es asi
> entonces ya eso esta hecho y no funciona, cualquier trigger que llama a
> esta funcion me da el error, bueno esto es obio no, ahora algo que me tiene
> super metido es por que no puedo hacer un dump???

Borra los triggers.

> Aunque borre y cree la funcion, igual tengo que ubicar el pg_proc del
> triggery reemplazar el prolang por la funcion ???.

???? No hay "pg_proc del trigger". pg_proc es la tabla de funciones.
Los triggers viven en pg_trigger, y tgfoid es el Oid de la funcion de
trigger en pg_proc.

> "pg_dump: handler procedure for procedural language plpgsql not found"
>
> trato de crear el lenguaje nuevamente y me dice que ya esta creado, no sera
> que este "plpgsql" esta malo y que no me deja hacer nada.
>
> este "plpgsql" es de postgres o es de la aplicacion ??

plpgsql es el compilador para el lenguaje PL/pgSQL. Es parte integral
de PostgreSQL. Si te dice que el handler ya esta creado, entonces lo
que pasa es que tiene otro oid. Lo que puedes hacer es buscar todas las
funciones en plpgsql que no tienen el manejador bien definido, y ponerle
el OID del manejador correcto en lugar de 16556 que era el Oid antiguo.

El oid del manejador correcto lo puedes ver con
select oid, lanname from pg_language

Luego con ese valor actualizar pg_proc apropiadamente, _CON_CUIDADO_.

Dados todos los problemas que has tenido te recomiendo un upgrade
urgente a 8.0, donde muchos de ellos no habrian aparecido.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"The first of April is the day we remember what we are
the other 364 days of the year" (Mark Twain)

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-07-28 15:01:41 Re: Portando Procedimiento de Oracle a Postgresql
Previous Message Marco Villagrán 2005-07-28 14:53:08 Portando Procedimiento de Oracle a Postgresql