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

Responder a