quinta-feira, 27 de outubro de 2011

PostgreSQL - Capturando elementos das tabelas

Segue abaixo o SQL para capturar Comentário da Tabela, Nome dos Campos, Comentários dos Campos, Tipos dos Campos, Número máximo de caracteres nos campos e se o campo é "nulável" ou não:




SELECT
d.nspname as schema_name,
c.relname as table_name,
COALESCE(pg_catalog.obj_description(c.oid), '') AS table_comment,
a.attname AS column_name,
t.typname AS column_data_type,
a.attlen AS column_max_len,
COALESCE(pg_catalog.col_description(c.oid, a.attnum), '') AS colunm_comment,
a.attnotnull AS column_notnull
FROM
pg_class c
LEFT JOIN pg_attribute a ON (a.attrelid = c.oid)
LEFT JOIN pg_type      t ON (a.atttypid = t.oid)
LEFT JOIN pg_namespace d ON d.oid = c.relnamespace         
WHERE
d.nspname = 'nome_do_esquema'
AND
a.attnum > 0
ORDER BY
c.relname, a.attnum;

Nenhum comentário: