Leandro Hamid escreveu: > Boa tarde pessoal. > > Nós temos um sistema que gera um arquivo .csv a partir de uma consulta > contendo informações sobre cliente, grupo_gestor, mac_address, > nome_rede, n_endereco_ip e por ai vai....Eu gostaria muito de carregar > este arquivo dentro de um banco de dados e lá dentro tratar algumas > inconsistências como mac_address contendo menos de 12 caracteres, > linhas em branco, dados duplicados, etc.Teria coo fazer isso no > postgres, se sim, alguém teria um dica de coo fazer isso?Desde já > agradeço. Em primeiro lugar, este processo de carga vai ser feito por uma aplicação ? Esta aplicação deve ter permissão para ler um aquivo externo, ou seja, superuser.
O próximo passo é definir o nível de consistência para cada campo, ou seja, definir quais campos podem conter dados inválidos e quais campos são críticos (aka PK´s). Quanto ao arquivo, você pode tratá-lo com utilitários do linux como sed, awk, grep, uniq para fazer os filtros iniciais e eliminar registros duplicados. Faça a carga inicialmente para uma tabela com poucas restrições, sem índices e apenas a restrição da chave. Depois, crie os índices e faça um insert na(s) tabela(s) de destino, aplicando funções para normalizar os dados de cada campo. Nas tabelas de destino, defina valores NOT NULL e DEFAULT com muito cuidado, garantindo que tua base não receba valores inconsistentes, mas também não dê problemas por qualquer erro menor. Esse "feeling" vem com o tempo e é o teu negócio que vai definir um bom ajuste. -- []´s, André Volpato Ecom Tecnologia LTDA - Análise e Desenvolvimento [EMAIL PROTECTED] _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
