Re: ERROR: relation with OID XXXX does not exist - Mailing list pgsql-novice

From David Monarchi
Subject Re: ERROR: relation with OID XXXX does not exist
Date
Msg-id eea51fdb0708180808g46004899ve91d76a19f2c866a@mail.gmail.com
Whole thread Raw
In response to Re: ERROR: relation with OID XXXX does not exist  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
Thanks, Tom.  I'll look forward to 8.3.

If I understand correctly, TRUNCATE is equivalent to DELETE FROM.  My problem was that I also needed to reset the serial attribute.  My solution was the following

  -- clear and reset counter
  delete from dom1_classid_sorted_temp;
  perform setval('dom1_classid_sorted_temp_class_rank_dom_seq'::regclass,1,false);


Thanks again.

Best,
david

On 8/17/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David Monarchi" <david.e.monarchi@gmail.com> writes:
> I am executing a function which includes the code fragment shown below.  It
> goes through the loop and then fails with the error message
>      ERROR: relation with OID 591161 does not exist

I think the problem is here:

>   -- drop & recreate table for sorting
>   drop table if exists dom1_classid_sorted_temp;
>   create table dom1_classid_sorted_temp (id_dom integer, class_rank_dom
> serial) without oids;

plpgsql tries to cache plans for its queries, and dropping a table
invalidates any already-made plans for that table.  Can you TRUNCATE
the table instead?

PG 8.3 will be smarter about this sort of thing.

                        regards, tom lane

pgsql-novice by date:

Previous
From: Christoph Frick
Date:
Subject: Re: large duplicated files
Next
From: "Rajaram J"
Date:
Subject: FATAL: no pg_hba.conf entry for host "???", user "rajaram", database "template1", SSL off