Re: Strange error related to temporary tables - Mailing list pgsql-general

From Tom Lane
Subject Re: Strange error related to temporary tables
Date
Msg-id 24750.1157062580@sss.pgh.pa.us
Whole thread Raw
In response to Strange error related to temporary tables  (Csaba Nagy <nagy@ecircle-ag.com>)
Responses Re: Strange error related to temporary tables  (Csaba Nagy <nagy@ecircle-ag.com>)
List pgsql-general
Csaba Nagy <nagy@ecircle-ag.com> writes:
>   create temp table temp_report ...;
>   ... do some processing using this table...
>   drop table temp_report;
>   commit;

> This code occasionally triggered the following error (couldn't reliably
> reproduce):
> ERROR: type "temp_report" already exists

BTW, when this happens, does the error persist?  If it's a race
condition you'd expect not (because the guy who successfully created the
temp table would soon drop it again).  When we saw this problem before,
we were speculating that a temp table's pg_type row had somehow not
gotten dropped during table drop, which'd lead to a persistent failure.

Note that a "persistent" failure could still only manifest occasionally,
if the unwanted pg_type row were in a high-numbered pg_temp_NNN schema
that doesn't get used often.  So i guess the correct thing to do is
"select oid, xmin from pg_type where typname = 'temp_report'" and see
if there are any long-lived entries (xmin far away from the others would
be a tipoff).

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Query performance inconsistant.
Next
From: Bruce Momjian
Date:
Subject: Re: [pgsql-advocacy] Thought provoking piece on