Re: Re: [pgsql-es-ayuda] nombre de columnas en catálogo

From: Roberto Rodríguez Pino <rodpin(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Re: [pgsql-es-ayuda] nombre de columnas en catálogo
Date: 2009-08-29 04:59:24
Message-ID: 1251521964.31592.4.camel@bender
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El jue, 27-08-2009 a las 17:23 -0400, Alvaro Herrera escribió:
> Una aclaración: no necesitas pg_database en esa consulta. La gran
> mayoría de los catálogos son locales a cada base de datos, es decir,
> sólo contienen los datos de esa base de datos. Los catálogos globales
> son pg_database, pg_tablespace, pg_authid y pg_auth_member (estos dos
> llevan la información de roles), pg_shdepend (equivalente de pg_depend
> para objetos globales) y pg_shdescription (equivalente de pg_description
> para objetos globales).
>
> Otra corrección: si tienes dos esquemas y tablas con el mismo nombre
> en cada uno de ellos, la consulta de arriba te va a devolver las
> columnas de ambos. En el WHERE es mejor poner
> c.oid = 'MI_TABLA'::regclass
> donde el "MI_TABLA" puede ir calificado con el nombre del esquema (por
> ej. public.tabla1).
>
> Finalmente, te faltó eliminar columnas borradas, "AND NOT attisdroped".
> Prueba después de ALTER TABLE / DROP COLUMN.
>

Muchas gracias Alvaro por tus observaciones y aclaraciones.
Al final la query la dejé así:

select a.attrelid, a.attname
from pg_database db, pg_class c, pg_attribute a
where
a.attrelid = c.oid and
c.oid = 'MI_TABLA'::regclass
and db.oid=16385 --id de la BD
and a.attnum>=0 --condicion para no mostrar los atributos asignados por
sistema
and NOT a.attisdropped --condicion para no mostrar los elementos
eliminados
;

Saludos!
Roberto

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Ferro 2009-08-29 11:11:20 Re: Configurar tsearh2
Previous Message Alvaro Herrera 2009-08-29 03:40:46 Re: cambiar las abreviaturas de Template Patterns para fechas