PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Consultar os detalhes do esquema de uma tabela no PostgreSQL?


Existe uma solução muito mais simples caminho no PostgreSQL para obter o tipo de uma coluna.
SELECT pg_typeof(col)::text FROM tbl LIMIT 1

A tabela deve conter pelo menos uma linha, é claro. E você só obtém o tipo base sem modificadores de tipo (se houver). Use a alternativa abaixo se precisar também.
Você também pode usar a função para constantes. O manual sobre pg_typeof() .

Para uma tabela vazia (ou qualquer outra), você pode consultar o catálogo do sistema pg_attribute para obter a lista completa de colunas e seus respectivos tipos em ordem:
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;

O manual sobre format_type() e em tipos de identificador de objeto como regclass .