Se que os dois bancos ficarem online simultaneamente e você precisa eventualmente manipular alguma informação no firebird pode utilizar a ferramenta chamada DBILink que é instalada no PostgreSQL. Ela conecta em outros bancos através de um driver DBD. A partir dessa ferramenta, você consegue consultar, modificar, inserir e remover registros no outro banco através de comandos locais no PostgreSQL. Sua instalação é bem trabalhosa e em algumas situações se o tráfego de consultas for grande pode reduzir a performance. Fiz uma vez a instalação dessa ferramenta no PostgreSQL 8.4. Atualmente não sei como está a compatibilidade dela em versões mais atualizadas.
Att. Rieg. ----- Original Message ----- From: Matheus de Oliveira To: Comunidade PostgreSQL Brasileira Sent: Wednesday, September 05, 2012 11:44 AM Subject: Re: [pgbr-geral] Replicar dados do Firebird para PostgreSQL 2012/9/5 Thiago Rodrigues <[email protected]> Olá pessoal, Estou trabalhando em um projeto que necessito buscar informações no banco de dados de um ERP que utiliza Firebird e transferí-las para meu SGBD (PostgreSQL). O sistema que estou desenvolvendo irá coexistir com o ERP, assim, gostaria que quando fosse inserido um novo cliente no Firebird (exemplo) o registro fosse automaticamente replicado para uma tabela no PostgreSQL. Se precisa que seja realmente "online", você pode criar uma trigger no Firebird que chama uma função UDF (vai ter que usar C, C++ ou Delphi) para inserir o dado no PostgreSQL. Também já vi produtos comerciais que prometem isso (feito via triggers), vou ver se acho aqui. Também gostaria de realizar essa operação sem alterar nada no Firebird. Sem nem mesmo criar uma trigger? Só com verificação agendada... Alguém tem alguma idéia? Uma maneira grotesca seria criar um job no contrab para verificar a cada X minutos se houve alguma nova inserção e em caso positivo, replicar para o PostgreSQL. Se você não precisa que essa "replicação" seja instantânea, essa é uma boa solução. Procure por processos ETL, geralmente funciona assim. Ah, e o ideal é armazenar alterações feitas na tabela, uma espécie de tabela delta, para ter dados sobre deleções e atualizações também (via trigger novamente). -- Matheus de Oliveira Analista de Banco de Dados PostgreSQL Dextra Sistemas - MPS.Br nível F! www.dextra.com.br ------------------------------------------------------------------------------ _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
