Re: temporary tables - Mailing list pgsql-general

From Bruce Momjian
Subject Re: temporary tables
Date
Msg-id 200301172337.h0HNbSY01786@candle.pha.pa.us
Whole thread Raw
In response to temporary tables  (Greg Stark <gsstark@mit.edu>)
Responses Re: temporary tables
List pgsql-general
If you create a LOCAL TEMPORARY table, it will be automatically deleted
at the end of the transaction.  Also, in 7.3, temporary table data will
_not_ be synced/forced to disk like ordinary tables, though disk will
still be used as backing store for the table.  You can drop them
manually too.

---------------------------------------------------------------------------

Greg Stark wrote:
>
> I've always avoided using temporary tables for OLTP applications because I was
> afraid the rapid creating and deleting of temporary data would limit
> scalability.
>
> Now I'm finding they might be necessary for a particular problem so I'm
> looking for information on how efficient they are with Postgres. In my case
> it's being used for a set of purely read-only queries for performance reasons.
> I won't be updating the temporary table at all once created.
>
> Will postgres write out the data to disk or just store it in local memory in
> the single backend using it? Will it be able to handle lots of users
> simultaneously creating and destroying these temporary tables without
> performance degrading?
>
> I'm only looking at using them because I have four separate queries based on a
> data set that is the result of aggregating a much larger data set. The only
> reason to use the temporary tables is for performance reasons, so if it won't
> help over rerunning the slow aggregate subquery four times then, well, I have
> a problem, because that would be too slow.
>
> Incidentally, temporary tables don't seem to appear anywhere in the online
> docs, and are only mentioned briefly in my book (yes, the same book). Is there
> any way to control when the temporary tables are destroyed other than at the
> end of the session? Is there any way to tell Postgres to destroy them at the
> end of a transaction or do i assume i have to do it manually? Do I use drop
> table normally?
>
> --
> greg
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-general by date:

Previous
From: Jon Swinth
Date:
Subject: Re: Fix FK deadlock, but no magic please
Next
From: Stephan Szabo
Date:
Subject: Re: Fix FK deadlock, but no magic please