From: | Marc Mamin <M(dot)Mamin(at)intershop(dot)de> |
---|---|
To: | "'Michael Paquier'" <michael(dot)paquier(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Way to identify the current session's temp tables within pg_class ? |
Date: | 2014-08-25 13:03:56 |
Message-ID: | B6F6FD62F2624C4C9916AC0175D56D8828AC90B3@jenmbs01.ad.intershop.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> -----Original Message-----
> From: Michael Paquier [mailto:michael(dot)paquier(at)gmail(dot)com]
> On Mon, Aug 25, 2014 at 7:48 PM, Marc Mamin <M(dot)Mamin(at)intershop(dot)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.
thanks,
I've also notice that ::regclass only returns the oid of the "accessible" table.
It is sufficient for my need, although it doesn't tell whether the table is temporary or not:
SELECT * FROM pg_class where oid='foo'::regclass
regards,
marc
> 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
From | Date | Subject | |
---|---|---|---|
Next Message | W. Matthew Wilson | 2014-08-25 13:32:11 | Re: How to insert either a value or the column default? |
Previous Message | Albe Laurenz | 2014-08-25 13:03:15 | Re: Using fmgr_hook |