From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | fernando miguel villarroel noriel <visuallinux(at)hotmail(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] Trigger y plpgsql |
Date: | 2003-04-22 01:03:41 |
Message-ID: | 20030422010341.GA5569@dcc.uchile.cl |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Mon, Apr 21, 2003 at 11:08:15PM +0000, fernando miguel villarroel noriel wrote:
> Bueno mis problemas comienzan cuando trato de insertar un registro en una
> tabla que posee un trigger (clientes); en concreto el error dice:
>
> fmgr_info:function 16686: cache lookup failed.
Esto usualmente ocurre porque defines una funcion, creas el trigger, y
luego borras la funcion y la vuelves a crear. En este escenario, el
sistema deja un cache del plan del trigger basado en el OID, pero cuando
botas la funcion y la creas de nuevo su OID cambia.
La solucion mas sencilla es botar el trigger y volver a crearlo; una
solucion mejor es usar CREATE OR REPLACE FUNCTION en lugar de DROP
FUNCTION - CREATE FUNCTION.
Creo que otra alternativa es volver a conectarte (el cache solo dura una
sesion), pero es incomodo.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Al principio era UNIX, y UNIX habló y dijo: "Hello world\n".
No dijo "Hello New Jersey\n", ni "Hello USA\n".
From | Date | Subject | |
---|---|---|---|
Next Message | GUSTAVO MARTIN OCAMPO | 2003-04-22 12:25:24 | [Pgsql-ayuda] Relacionar tablas |
Previous Message | fernando miguel villarroel noriel | 2003-04-21 23:08:15 | [Pgsql-ayuda] Trigger y plpgsql |