From: | "David Prieto" <davidp(at)sgth(dot)es> |
---|---|
To: | "Edwin Alberto Quijada" <macaruchi(at)hotmail(dot)com>, <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx> |
Subject: | RE: [Pgsql-ayuda] Como veo todos los campos de una Base de datos |
Date: | 2002-11-27 07:13:33 |
Message-ID: | 006901c295e4$7f3bc1e0$1701a8c0@sgth.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
>
> Hola a todos!!
> Estoy tratando de hacer un programa que me imprima toda la
> estructura de una
> base de datos que esta en Postgres. Uso PgAdmin pero no encuentro
> por ningun
> lado una opcion que me permita hacerlo , por lo que he decidido
> hacerlo yo
> mismo usando delphi. Mi pregunta es como yo puedo accesar las tablas y
> campos de una tabla en Postgres, eso no se guarda en un catalogo
> o algo asi?
> Si es asi diganme donde?
A ver si esto te sirve:
select a.attname, t.typname, a.attlen from pg_class c, pg_attribute a,
pg_type t
where c.relname = 'NOMBRE_DE_LA_TABLA'
and a.attnum > 0
and a.attrelid = c.oid
and a.atttypid = t.oid;
Eso te da todos los campos de una tabla en particular.
Puedes modificar la consulta para que saque todas las tablas (incluidas las
tablas del sistema):
select c.relname, a.attname, t.typname, a.attlen from pg_class c,
pg_attribute a,
pg_type t
where a.attnum > 0
and a.attrelid = c.oid
and a.atttypid = t.oid;
De todos modos, con "pg_dump -s" obtienes una secuencia de comandos SQL para
generar las tablas de la base de datos. Igual con eso te puede bastar.
Un saludo,
David Prieto.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrián Caldeiro | 2002-11-27 12:30:13 | [Pgsql-ayuda] Uso de postgres desde PHP |
Previous Message | Edwin Alberto Quijada | 2002-11-26 23:25:08 | [Pgsql-ayuda] Como veo todos los campos de una Base de datos |