Juris Krumins wrote:
Hi everybody. I have a problem with my PostgreSQL DBMS.
In serverl log file I periodicly have errors like:

2004-03-24 11:43:18 ERROR:  Relation "tmp_table1" does not exist
2004-03-24 11:43:18 ERROR:  Relation "tmp_table1" does not exist
2004-03-24 11:43:18 ERROR:  Relation 'tmp_table1' already exists
2004-03-24 11:43:18 ERROR:  Relation "tmp_table1" does not exist
2004-03-24 11:43:18 ERROR:  Relation "tmp_table1" does not exist

I figure out that this is connected with query I use in one of the
function:

CREATE TEMP TABLE tmp_table1 AS SELECT bla-bla-bla.

The problem is that when I had no so many users I have rigth now
everything was ok, but now I have quite more users, so this problem
appeared. Function , which use this query, is used all over my web site,
which is base on PostgreSQL.

So anybody have any idea how to correct this or maybe I have to change my
query. Any help would be appreciated.

I'm using PostgreSQL 7.3.4

I'm not sure, but I suspect your web application is doing connection pooling to connect to Postgres. If that is the case, it's possible two different threads of your application are trying to work with "tmp_table1" at the same time over the same connection, which would cause the errors you describe.

If this is the case, there are a number of choices:
1) Don't use a temporary table
2) Don't use connection pooling
3) Make you application choose a unique name for the temporary table, so
   there's no chance of clash.  Instead of always using tmp_table1, append
   a unique number to the name each time you create the temp table.

Hope this helps.

--
Bill Moran
Potential Technologies
http://www.potentialtech.com


---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly

Reply via email to