Re: [pgbr-geral] Informações das tabelas
Veja se esta consulta te ajuda: SELECT ordinal_position, table_schema, table_name, column_name, CASE WHEN data_type = 'numeric' AND COALESCE(numeric_precision,0) 0 THEN CASE WHEN COALESCE(numeric_scale,0) 0 THEN data_type || '(' || numeric_precision::BPCHAR || ',' || numeric_scale::BPCHAR || ')' ELSE data_type || '(' || numeric_precision::BPCHAR || ')' END WHEN COALESCE(character_maximum_length,0) 0 THEN data_type || '(' || character_maximum_length::BPCHAR || ')' ELSE data_type END AS data_type, is_nullable FROM information_schema.columns ORDER BY table_schema, table_name, ordinal_position Perfeito, Tiago, é isso mesmo que preciso. Em relação às CONSTRAINTs e os INDEXs, tem como obter? Muito obrigado. Ronei ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Informações das tabelas
É possível sim. Da uma olhada nas tabelas/views de sistema e se você quebrar um pouquinho a cabeça chega na resposta. O Tiago já deu uma boa ajuda ;) Bom, quebrei a cabeça e consegui o que precisava com os seguintes comandos: SELECT ordinal_position,column_name,data_type,character_maximum_length,numeric_precision,numeric_scale,is_nullable FROM information_schema.columns WHERE table_schema='public' AND table_name='brindes' ORDER BY ordinal_position 1;codigo_empresa;integer;;32;0;NO 2;numero_lancto;integer;;32;0;NO 3;empresa_cliente;integer;;32;0;YES 4;codigo_cliente;integer;;32;0;YES 5;data_lancto;integer;;32;0;YES 6;data_lancto_formatada;character varying;10;;;YES 7;hora_lancto;integer;;32;0;YES 8;hora_lancto_formatada;character varying;10;;;YES 9;observacao;character varying;100;;;YES 10;codigo_produto;numeric;;14;0;YES 11;codigo_tabela;integer;;32;0;YES 12;codigo_grade;integer;;32;0;YES 13;quantidade;numeric;;14;3;YES 14;preco_unitario;numeric;;14;5;YES 15;preco_total;numeric;;14;2;YES 16;usuario;integer;;32;0;YES select constraint_name,constraint_type from information_schema.table_constraints where constraint_schema='public' and constraint_type'CHECK' and table_name='cadastro_clientes_fotos' a041_empresa_cliente_empresa_foto;PRIMARY KEY r041_empresa_cliente_a009;FOREIGN KEY select column_name from information_schema.key_column_usage where constraint_schema='public' and constraint_name='a041_empresa_cliente_empresa_foto' empresa_cliente codigo_cliente codigo_empresa numero_foto select column_name from information_schema.key_column_usage where constraint_schema='public' and constraint_name='r041_empresa_cliente_a009' empresa_cliente codigo_cliente select table_name,column_name from information_schema.constraint_column_usage where constraint_schema='public' and constraint_name='r041_empresa_cliente_a009' cadastro_clientes;codigo_empresa cadastro_clientes;codigo_cliente select indexname from pg_indexes where schemaname='public' and tablename='brindes' a040_empresa_lancto a040_empresa_cliente a040_empresa_data_lancto a040_produto_tabela_grade select a.oid,a.relname,b.indkey from pg_class a JOIN pg_index b ON b.indexrelid=a.oid where a.relname='a040_produto_tabela_grade' 1390449;a040_produto_tabela_grade;10 11 12 Confere? Att. Ronei Heck ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Informações das tabelas
Olá, pessoal, Com este comando: SELECT ordinal_position,column_name,data_type FROM information_schema.columns WHERE table_schema='public' AND table_name='brindes' order by ordinal_position Eu consigo obter o nome e o tipo das colunas de uma tabela. Tem como obter o tamanho, os decimais e se o campo é not null? Preciso também obter informações dos índices e dos relacionamentos da tabela. Muito obrigado. Ronei Heck Clarion 6.1 Postgres 9.1 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral