Re: temp tables not dropping at end of script

From: "Relyea, Mike" <Mike(dot)Relyea(at)xerox(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Cc: "Davenport, Julie" <JDavenport(at)ctcd(dot)edu>
Subject: Re: temp tables not dropping at end of script
Date: 2011-04-06 15:09:14
Message-ID: AF7D9319B29A0242A33C3BF843BD31330C9086A3@USA7061MS03.na.xerox.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Since we upgraded from postgres 8.0 to 8.4, every script where we have queries that use temp tables now has to have an explicit drop of the temp table at the end of the script, or it will blow up the next time it runs, saying it cannot create the temp table because it already exists (these are coldfusion 8 scripts running queries on postgres 8.4 database).  When we get the error, if we try to drop the table at the command line, it says the table does not exist, yet we cannot rerun the script unless we stop and restart the database.  This never happened with pg 8.0, so the definition of "when a session ends" seems to have changed (isn't a temp table supposed to automatically disappear at the end of the session)?  Is there some easier or better way to clear these temporary areas?
Thanks,
Julie
julie(dot)davenport(at)ctcd(dot)edu

I ran in to a similar issue with our scripts. I took the easy way out and before creating each temp table, I added a DROP TABLE IF EXISTS statement. If the table doesn't exist, I get a warning but my script doesn't fail.

Mike

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Michael Glaesemann 2011-04-06 15:10:18 Re: forums.postgresql.com.au
Previous Message Andrew Sullivan 2011-04-06 14:55:33 Re: temp tables not dropping at end of script