Re: Alter Temporary table in Stored Procedure

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Nykolyn, Andrew" <andrew(dot)nykolyn(at)ngc(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Alter Temporary table in Stored Procedure
Date: 2008-02-10 23:26:58
Message-ID: 11430.1202686018@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Nykolyn, Andrew" <andrew(dot)nykolyn(at)ngc(dot)com> writes:
> I have the following code in my stored procedure:

> create temporary table t_resultset as select * from
> get_createtempmsg();
> alter table t_resultset add column seq serial;

> The error I get is - relation "public.t_resultset" does not exist.

> I am using 8.1.3

Hmm, well, the case seems to work for me in 8.1.11, but only for rather
small values of "work": the sequence is created in the public schema,
which is the wrong place for a temp object. On looking back, this whole
area is badly broken in releases before 8.3 --- see discussion of
bug #3403:
http://archives.postgresql.org/pgsql-bugs/2007-06/msg00114.php

We concluded that the fix was too invasive to risk back-patching,
so it's unlikely that anything will ever get done about it in 8.1.x
or 8.2.x. If you really need this to work, I'd suggest updating
to 8.3.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Greg Smith 2008-02-10 23:30:13 Re: Mechanics of Select
Previous Message Klint Gore 2008-02-10 23:22:39 copy question - fixed width?