Thread: global temporary tables?

global temporary tables?

From
"David Parker"
Date:
In our application we have a table that tracks network sessions. The
usage is:

   1) create a session record
   2) read/update the record several times during the session
   3) delete the session record when the session ends

Update activity on this table is going to be pretty intense, and the
transient nature of the data makes it a good candidate for a temporary
and/or in-memory table.

Unfortunately, different network connections may be updating the same
session record at different times (connection pool), so the CREATE TABLE
TEMPORARY doesn't seem to fit the bill, since it's specific to a given
postgres session. It seems like the GLOBAL specifier would make the
temporary table a thing of beauty for our application, but the doc says
GLOBAL doesn't really do anything.

Are there any plans to implement GLOBAL for temporary tables in the near
future? If not, is it a matter of somebody stepping up to do it, or are
there practical/philosophical reasons for not doing it?

-  DAP
======================================================
David Parker    Tazz Networks    (401) 709-5130



Re: global temporary tables?

From
Tom Lane
Date:
"David Parker" <dparker@tazznetworks.com> writes:
> Update activity on this table is going to be pretty intense, and the
> transient nature of the data makes it a good candidate for a temporary
> and/or in-memory table.

> Are there any plans to implement GLOBAL for temporary tables in the near
> future?

No.  If you are going to allow multiple backends to access it, I don't
think there are any optimizations possible.  Use a regular table.
You can just DROP the thing when you're done.

            regards, tom lane