2014-02-27 16:31 GMT-03:00 Douglas Fabiano Specht <[email protected]>
:
> boa tarde Pessoal,
> queria saber se alguém ja precisou ou pode me ajudar a buscar nas tabelas
> de um banco de dados quais os campos estão totalmente vazios ou nulos, ou
> seja, sem nunca ter recebidos nenhum dado.
>
> a ideia é buscar campos não utilizados em nosso banco de dados.
>
>
Campos que **nunca** tenham recebido nenhum dado? Desista, você não vai
conseguir essa informação.
Agora, campos que estão atualmente com todas as tuplas com valores NULL, é
até que fácil (pelo menos para uma análise, não como solução definitiva):
1. Execute um ANALYZE de todo banco para atualizar as estatísticas:
ANALYZE;
2. Consulta a view pg_catalog.pg_stats. Por exemplo, considerando campos
onde tudo é NULL:
SELECT schemaname, tablename, attname FROM pg_stats WHERE null_frac =
1.0;
OBSERVAÇÃO: (posso estar enganado [e alguém me corrija se eu estiver],
mas...) a consulta acima vai achar todos as colunas de todas tabelas onde
tudo seja NULL, mas existe a possibilidade de falsos positivos, ou seja,
tabelas/campos aparecerão aí mas são **quase tudo NULL**. Tabelas sem
nenhuma tupla também poderão não ser mostradas.
Quanto à campos vazios, não sei se será tão fácil, se não me engano colunas
tipo text (ou varchar) com valor vazio iria resultar na coluna avg_width da
pg_stats com o valor 1 (mas precisas conferir).
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral