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 <xthi...@gmail.com>

    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
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to