Re: Way to identify the current session's temp tables within pg_class ? - Mailing list pgsql-general

From Michael Paquier
Subject Re: Way to identify the current session's temp tables within pg_class ?
Date
Msg-id CAB7nPqSdneY5WHOTtMN2uOmDLwLxvaC=da03xXGq+44mBqa2-g@mail.gmail.com
Whole thread Raw
In response to Way to identify the current session's temp tables within pg_class ?  (Marc Mamin <M.Mamin@intershop.de>)
Responses Re: Way to identify the current session's temp tables within pg_class ?  (Marc Mamin <M.Mamin@intershop.de>)
List pgsql-general
On Mon, Aug 25, 2014 at 7:48 PM, Marc Mamin <M.Mamin@intershop.de> wrote:
> Hello,
>
> When different sessions create temp tables with the same name:
> How can I identify the oid of the one created within the current session ?

You can use pg_my_temp_schema for this purpose. It returns the OID of
the schema where temporary objects are stored for a given session.
Note that this returns InvalidOid if no temporary objects are defined.
Here is an example:
=# select pg_my_temp_schema();
 pg_my_temp_schema
-------------------
                 0
(1 row)
=# create temp table aa (a int);
CREATE TABLE
=# SELECT nspname FROM pg_namespace WHERE oid = pg_my_temp_schema();
  nspname
-----------
 pg_temp_4
(1 row)

Regards,
--
Michael


pgsql-general by date:

Previous
From: hubert depesz lubaczewski
Date:
Subject: Re: deadlock in single-row select-for-update + update scenario? How could it happen?
Next
From: Sameer Thakur
Date:
Subject: Using fmgr_hook