RE: [Pgsql-ayuda] Como veo todos los campos de una Base de datos

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.

In response to

Browse pgsql-es-ayuda by date

  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