> Sr. Fabio, obrigado pelas respostas. > O que pretendo é o segundo caso citado por vc, ou seja: > Tenho dois dominios diferentes como se fossem matriz e filial. > Quero juntar os dados em um dominio só, no caso todos os dados da filial > importar para a matriz como clientes, fornecedores....... > As tabelas são iguais, só preciso trazer o conteúdo da filial para dentro da > matriz de todas as tabelas. Ocorre que alguns registros são iguais e neste > caso não importa, mas dá erro e acaba não trazendo nada. > Usei estas duas formas: > pg_dump -U postgres -at tabela_origem -h host_origem banco | psql -h > host_destino banco -U postgres > ......... > > psql -h ip_do_banco -U postgres nome_do_banco < > nome_do_banco_a_ser_migrado.sql
Se você tem **chaves naturais** (Primárias) nas tabelas, será mais simples, agora caso não possua definido, será um pouco mais complicado.... Ex : a tabela Clientes, a PK seja o CNPJ , ao invés do id (Serial); Caso possua as chaves, gere um DUMP com INSERTS (Não COPY, pois no COPY ele entende todos os dados com uma unica transação e em caso de erros, "aborta" a execução do comando inteiro). Caso não possua, restaure o dump em um esquema(SCHEMA) diferente e faça como o Fábio disse no e-mail anterior, mas filtrando pela suas chaves uniques... pq as primárias artificiais não vão te ajudar, já que se tratam de dados de localidades diferentes : INSERT INTO schema_principal.Clientes SELECT * FROM schema_temp.Clientes WHERE cnpj NOT IN (SELECT cnpj FROM schema_principal.Clientes); ..... Isso para todas as tabelas ..... Espero ter ajudado ... Se a modelagem bem feita , as coisas ficam mais fáceis [ O Leandro vai adorar isso :) ] -- Att: Thiago Risso _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral