Обсуждение: Please help cache lookup failed
Hello, I just upgraded from 6.5.2 to 7.0.2 on SuSE 6.4 Linux, and now I get this message when trying to insert records: ERROR: fmgr_info: function 19104: cache lookup failed This only happens on tables that use refint.so (under contrib/spi in the source distribution). There is a trigger that calls a function, to check primary or foreign key. Has anyone else encountered this? Here's the schema: create subscriptions table ------------------- CREATE SEQUENCE "subscriptions_script_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; CREATE TABLE "subscriptions" ( "script_id" int4 DEFAULT nextval('subscriptions_script_id_seq') NOT NULL, "mag_id" int4 NOT NULL, "paid_amount" money NOT NULL, "start_date" date NOT NULL, "end_date" date NOT NULL, "notes" text); CREATE UNIQUE INDEX "subscriptions_script_id_key" on "subscriptions" using btree ( "script_id" "int4_ops" ); CREATE TRIGGER "sub_mag_trigger" BEFORE INSERT OR UPDATE ON "subscriptions" FOR EACH ROW EXECUTE PROCEDURE check_primary_key ('mag_id', 'magazines', 'mag_id'); create function ------------ CREATE FUNCTION "check_primary_key" ( ) RETURNS opaque AS '/usr/local/pgsql/lib/modules/refint.so' LANGUAGE 'C'; -- Michael Fraley fraley@usfca.edu http://www.usfca.edu/~fraley
This works, but you may create the function first... And then the trigger... On Tue, 27 Jun 2000, Michael Fraley wrote: > ERROR: fmgr_info: function 19104: cache lookup failed > create subscriptions table > ------------------- > CREATE SEQUENCE "subscriptions_script_id_seq" start 1 increment 1 maxvalue > 2147483647 minvalue 1 cache 1 ; > CREATE TABLE "subscriptions" ( > "script_id" int4 DEFAULT nextval('subscriptions_script_id_seq') NOT NULL, > "mag_id" int4 NOT NULL, > "paid_amount" money NOT NULL, > "start_date" date NOT NULL, > "end_date" date NOT NULL, > "notes" text); > CREATE UNIQUE INDEX "subscriptions_script_id_key" on "subscriptions" using btree > ( "script_id" "int4_ops" ); > CREATE TRIGGER "sub_mag_trigger" BEFORE INSERT OR UPDATE ON "subscriptions" > FOR EACH ROW EXECUTE PROCEDURE > check_primary_key ('mag_id', 'magazines', 'mag_id'); > > create function > ------------ > CREATE FUNCTION "check_primary_key" ( ) RETURNS opaque AS > '/usr/local/pgsql/lib/modules/refint.so' LANGUAGE 'C'; > > > -- > > Michael Fraley > fraley@usfca.edu > http://www.usfca.edu/~fraley >
Michael Fraley <fraley@usfca.edu> writes: > I just upgraded from 6.5.2 to 7.0.2 on SuSE 6.3 Linux kernel 2.2.13, and > now I get this message when trying to insert records: > ERROR: fmgr_info: function 19104: cache lookup failed Did you perhaps delete and recreate check_primary_key() without also recreating the triggers that refer to it? regards, tom lane