Temporary Tables - Mailing list pgsql-general

From Joseph M. Day
Subject Temporary Tables
Date
Msg-id 00c901c53609$3fc13780$6402a8c0@homepc
Whole thread Raw
Responses Re: Temporary Tables  (Richard Huxton <dev@archonet.com>)
List pgsql-general
I am having some problems understanding how the temp tables work in PG. I have a relatively lengthy function I am creating that makes frequent use of temporary tables.
 
I am dropping and recreating the temp tables on each run. If I run the procedure the first time via psql it seems to run fine. If I try to immediately run it again I get the following message:
 
Error: relation with OID 22938 does not exist
 
The query it is running is the following:
 
Select Into sTableName TableName From tmp_tblJoin Where ID = 1;
 
Nothing special about it other than "tmp_tblJoin" is defined as a temporary table.
 
I do understand what is happening (I think). There is a stale pointer to the previous instance of the temp table (that no longer exists) which is causing the function to blow up. My question is how to I stop it from storing the OID of the old reference.
 
I am relatively new to PG, but have years of experience with MSSQL and never had to deal with these type of issues. I am using plpqsql and explicitly setting it to volatile.
 
Any help may save the last couple strands of hair on my head :-)
 
Joe,
 

--------------------------------------------
Joseph M. Day
Global Innovative Solutions

pgsql-general by date:

Previous
From: Patrick.FICHE@AQSACOM.COM
Date:
Subject: Re: truncate/create slowness
Next
From: Richard Huxton
Date:
Subject: Re: Postgres PL SQL bug?