From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Esquema temporal en uso |
Date: | 2008-05-08 16:15:24 |
Message-ID: | 20080508161524.GF5515@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Oswaldo Hernández escribió:
> Hola,
>
> Tengo una funcion que necesita comprobar si se han creado previamente
> unas tablas temporales para regenerarlas si es necesario.
>
> Para verificar si existe una tabla suelo hacer una lectura en pg_class
> buscando tabla y esquema, pero en el caso de las tablas temporales no se
> que esquema esta utilizando la sesion actual.
>
> ¿Como puedo averiguar cual es el esquema temporal que esta utilizando la sesion?
Es pg_temp_NNN donde el NNN corresponde a tu backend ID, el cual puedes
obtener asi:
select id
from pg_stat_get_backend_idset() as id
where pg_stat_get_backend_pid(id) = pg_backend_pid();
Tambien puedes usar simplemente "pg_temp" que se expande al esquema
temporal de tu sesion. (Claro que esto no va a funcionar si consultas
directamente el catalogo, pero funciona si usas pg_table_is_visible()
por ejemplo).
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-05-08 16:17:02 | Re: Curso |
Previous Message | Julio Cesar Rodriguez Dominguez | 2008-05-08 16:12:09 | Re: Curso |