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
=========
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;
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;
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