Hi All,

I am facing the error "cache lookup failed for relation X" in Postgres-8.4.2
version. As you all know, its a reproducable and below is the example.

This can be generated with two sessions;
Am opening two sessions here Session A and Session B
Session A
=========
step 1 - creating the table

postgres=# create table cache(id integer);

step 2 - Create the trigger and the function on particular table

postgres=# CREATE FUNCTION cachefunc() RETURNS trigger AS $$
    BEGIN
    RETURN NEW;
    END; $$ LANGUAGE plpgsql;

postgres=# CREATE TRIGGER cachetrig BEFORE INSERT ON cache FOR EACH ROW
EXECUTE PROCEDURE cachefunc();

Step 3 - Inserting a row in a table

postgres=# insert into cache values (1);

Step 4 - Droping the table in BEGIN block and issuing the same drop in
another session B

postgres=# begin;
postgres=# drop table cache;

step 5 - Open the second session B and issue the same command

postgres=# drop table cache; --- In session B, this will wait untill commit
is issued by the Session A.

step 6 - Issue the commit in Session A

postgres=# commit;

Step -7 now we can the see the error in the session B

ERROR: cache lookup failed for relation X

Could plese tell me, why this is generated and what is the cause.

Thanks in advance

Regards
Raghavendra

Reply via email to