Re: [ADMIN] ERROR: fmgr_info: function 18375: cache lookup failed

From: "Antonio Garcia Mari" <agarcia(at)at4(dot)net>
To: pgsql-admin(at)postgreSQL(dot)org
Subject: Re: [ADMIN] ERROR: fmgr_info: function 18375: cache lookup failed
Date: 1998-08-13 18:48:06
Message-ID: 199808131906.VAA09126@pixie.at4.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

<color><param>7F00,0000,0000</param>> Does anybody know what this error mean?

>

> update empresa set clave_provincia=8 where clave_empresa=8046;

> ERROR: fmgr_info: function 18375: cache lookup failed

>

</color>Ok, nobody answered but i found my problem. It's related to a weird pgsql bug.

Assume i got a trigger called empresaclave_empresa1. Usually, you cannot create two triggers with
the same name:

projas_db=> CREATE TRIGGER empresaclave_empresa1 AFTER DELETE ON empresa

projas_db-> FOR EACH ROW EXECUTE PROCEDURE

projas_db-> check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

ERROR: CreateTrigger: trigger empresaclave_empresa1 already defined on relation empresa

But if you exceed the max 32 chars for the trigger name:

projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE
ON empresa FOR EACH ROW EXECUTE PROCEDURE

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE

projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE
ON empresa FOR EACH ROW EXECUTE PROCEDURE

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE

projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE
ON empresa FOR EACH ROW EXECUTE PROCEDURE

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE

And if you try to delete your trigger you'll think you're getting crazy:

projas_db=> DROP TRIGGER nn0123456789012345678901234567890123456789 ON empresa; <bold>

</bold>ERROR: DropTrigger: there is no trigger nn0123456789012345678901234567890123456789 on
relation empresa

projas_db=> select tgname from pg_trigger;

tgname

-------------------------------

empresaclave_empresa1

comunidadclave_comunidad

existen_empresas_en_este_sector

la_comunidad_no_existe

la_empresa_no_existe

el_sector_no_existe

imposible_modificar_clave

nn01234567890123456789012345678

nn01234567890123456789012345678

nn01234567890123456789012345678

You have THREE triggers with the same truncated name.

projas_db=> drop trigger nn01234567890123456789012345678 on empresa;

NOTICE: DropTrigger: found (and deleted) 3 trigger nn01234567890123456789012345678 on relation
empresa

DROP

My problem was caused by an old lost truncated trigger trying to call a nonexistent function.

<nofill>
Antonio Garcia Mari
Mallorca (Spain)

Attachment Content-Type Size
unknown_filename text/enriched 2.6 KB

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message John C Cusick 1998-08-13 18:53:50 Re: [ADMIN] FATAL 1: SetUserId:
Previous Message Bernd Johannes Wuebben 1998-08-13 18:47:49 Re: [ADMIN] FATAL 1: SetUserId: