sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Consulta los detalles del esquema de una tabla en PostgreSQL?

Hay una mucho más sencilla en PostgreSQL para obtener el tipo de una columna.

SELECT pg_typeof(col)::text FROM tbl LIMIT 1

La tabla debe contener al menos una fila, por supuesto. Y solo obtiene el tipo base sin modificadores de tipo (si los hay). Use la alternativa a continuación si también la necesita.
También puede usar la función para constantes. El manual en pg_typeof() .

Para una tabla vacía (o cualquier otra), puede consultar el catálogo del sistema pg_attribute para obtener la lista completa de columnas y su respectivo tipo en orden:

SELECT attnum, attname AS column, format_type(atttypid, atttypmod) AS type
FROM   pg_attribute
WHERE  attrelid = 'myschema.mytbl'::regclass   -- optionally schema-qualified
AND    NOT attisdropped
AND    attnum > 0
ORDER  BY attnum;

El manual en format_type() y en tipos de identificadores de objetos como regclass .