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 <emorr...@yahoo.es>

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Reply via email to