[Pgsql-ayuda] Como obtengo la lista de las tablas y columnas existentes en la bd?

Alvaro Herrera alvherre@dcc.uchile.cl
Tue, 4 Nov 2003 01:06:41 -0300


On Mon, Nov 03, 2003 at 08:35:30PM -0600, César A. Oré Vásquez wrote:

> Pero la bendita lista de columnas de cada tabla no la
> encuentro por ningun lado...
> 
> He leido de algo llamado information_schema (y usar la
> vista columns), pero parece no existir en mi BD...
> sera que es a partir de postgres 7.4???

Sí, es de 7.4 solamente; mira
http://www.varlena.com/GeneralBits/48es.php

Puedes usar pg_attribute; attrelid es el OID de la tabla, attnum es el
orden de las columnas (usa sólo las que tienen attnum > 0); para
conseguir el tipo tienes que usar atttypid (OID del tipo, en pg_type).
Mira la documentación de 'Catálogos del sistema', en el 'Developer's
Handbook'.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Nadie esta tan esclavizado como el que se cree libre no siendolo" (Goethe)