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 <[email protected]>
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda