cache lookup failed in plpgsql - reason?

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: cache lookup failed in plpgsql - reason?
Date: 2011-10-26 14:37:41
Message-ID: CAFj8pRBC0GfxO5WX24ugZjkL1rSEOnN2m3LF5PoohqeD7KG9fA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello

one my customer reported a random issue. He uses a procedure with
following fragment

IF NOT EXISTS(
SELECT relname FROM pg_class
WHERE relname = 'tmp_object_state_change' AND relkind = 'r' AND
pg_table_is_visible(oid)
)
THEN
CREATE TEMPORARY TABLE tmp_object_state_change (
object_id INTEGER,
object_hid INTEGER,
new_states INTEGER[],
old_states INTEGER[]
);
ELSE
TRUNCATE tmp_object_state_change;
END IF;

These lines sometimes raise a error

Oct 25 20:13:44 db-s-01 postgres: <local5.warning> -- postgres[29970]:
[3-1] 2011-10-25 20:13:44 CEST adifd 29970 ERROR: cache lookup failed
for relation 319883311
Oct 25 20:13:44 db-s-01 postgres: <local5.warning> -- postgres[29970]:
[3-2] 2011-10-25 20:13:44 CEST adifd 29970 CONTEXT: SQL statement
"SELECT NOT EXISTS( SELECT relname FROM pg_class WHERE relname =
Oct 25 20:13:44 db-s-01 postgres: <local5.warning> -- postgres[29970]:
[3-3] 'tmp_object_state_change' AND relkind = 'r' AND
pg_table_is_visible(oid) )"
Oct 25 20:13:44 db-s-01 postgres: <local5.warning> -- postgres[29970]:
[3-4] PL/pgSQL function "update_object_states" line 2 at IF
Oct 25 20:13:44 db-s-01 postgres: <local5.warning> -- postgres[29970]:
[3-5] 2011-10-25 20:13:44 CEST adifd 29970 STATEMENT: SELECT
update_object_states($1::integer)

I don't see a reason why on this query cache should be broken,

He uses Pg 8.3.15.

Any idea?

Regards

Pavel Stehule

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-10-26 14:44:48 Re: pgsql_fdw, FDW for PostgreSQL server
Previous Message Tom Lane 2011-10-26 14:37:00 Re: pgsql_fdw, FDW for PostgreSQL server