On Mon, May 03, 2004 at 02:18:28PM -0400, Mike Mascari wrote:
> I wrote:
>
> >There are three problems with using PostgreSQL temporary tables:
> >
> >1. PL/pgSQL will cache the OID of the temporary table that existed when
> >it is first parsed, and when that temporary table is dropped and
> >recreated later, despite having the same name and structure, you'll get
> >an error like:
> >
> >ERROR: relation with OID 869140 does not exist
> >CONTEXT: PL/pgSQL function "mytest" line 4 at select into variables
> >
> >The work-around is to use EXECUTE to build the query string at run-time.
>
> I should point out that if you ensure that you create the temporary
> table before invoking the function, the function gets parsed once
> after the first invocation at the beginning of the session. So that,
> in that instance, it would be okay.
OK, sounds like that'll work nicely for the particular application I'm
working on. Thanks.
Cheers,
Steve