Pessoal,
Tomando como referência esse sql que funciona.
insert into tabela1(campo1,campo2,campo3)
SELECT *
FROM dblink('antigo', 'select campo1,campo2,campo3 from tabela02')
AS nova_tabela( campo1 bigint,
campo2 character varying,
campo3 )
Mas tenho um problema, isso funciona se na tabela de destino estiver vazia. Mas vamos supor que eu executei e atualizei a tabela de destino, no caso depois a tabela origem vai continuar sendo atualizada. Se eu for rodar de novo essa query vai dar erro porque além de pegar os novos vai pegar os dados antigos e vai dar erro de primary key.
Qual seria a ideia em cima da query citada modificar para apenas inserir os dados que tiverem diferentes?