From: | Eduardo Morras <emorrasg(at)yahoo(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Adquiriendo informacion del schema de una tabla/vista con libpq |
Date: | 2015-05-01 15:28:30 |
Message-ID: | 20150501172830.4d047b25c2c707a36e4b4856@yahoo.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muy buenas,
Estoy desarrollando una extension en C para una aplicacion y necesito obtener el schema de una tabla o vista. El nombre de la tabla/vista lo conozco solo en tiempo de ejecucion, ademas tampoco se si es una tabla o una vista.
Actualmente uso una consulta similar a esta:
SELECT DISTINCT
a.attnum as num,
a.attname as name,
format_type(a.atttypid, a.atttypmod) as typ,
FROM pg_attribute a
JOIN pg_class pgc ON pgc.oid = a.attrelid
WHERE a.attnum > 0 AND pgc.oid = a.attrelid
AND pg_table_is_visible(pgc.oid)
AND NOT a.attisdropped
AND pgc.relname = 'TABLA1'
ORDER BY a.attnum;
pero solo sirve si es una tabla, ademas tengo que hacer la consulta y parsear los resultados.
¿Hay alguna forma de hacerlo usando libpq de forma directa llamando a una funcion? Algo como PG_get_table_info(char * nombretabla, int *num_col, char **nombre_columna, int *tipo_columna) o que devuelva un *struct con dicha informacion?
No he encontrado nada en la documentacion del capitulo 31, aparte de consultar directamente a las tablas del sistema.
Muchas Gracias
--- ---
Eduardo Morras <emorrasg(at)yahoo(dot)es>
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2015-05-01 22:41:48 | Re: Adquiriendo informacion del schema de una tabla/vista con libpq |
Previous Message | Jaime Casanova | 2015-04-30 06:00:50 | Re: CONEXIONES A PGPOOL |