pgsql=>m$sql
Marcos Ramirez A.
mramireza en armada.cl
Mie Nov 3 18:35:36 CLST 2004
On Wed, 2004-11-03 at 17:50, Jorge Palma e. wrote:
> El Mié 03 Nov 2004 12:47, Jorge Palma e. escribió:
> > en el trabajo me veo en la obligación de implementar el sgte. engendro:
> >
> > tengo una bd en postgres (que me genera un Asterisk como cdr), mediante
> > triggers limpiamos lo que no nos sirve y lo dejamos en otra tabla, y ahora
> > necesito que mediante triggers cuando se genere un registro en esa bd,
> > copiarlo a un m$sql 7.0....
> >
> > estoy viendo unixODBC.....voy bien??
> >
> > hay algo mejor??
> >
> > gracias a todos...
> complementando lo anterior.....freetds me servira??
Como alternativas puedes generar un dump de postgres (con comandos
insert) y arreglarlo para que M$SQL "importe" cada x tiempo (1 vez al
dia, o algo asi).
Si quieres que la actualizacion sea inmediata y/o el volumen de datos no
permite hacer un vaciado completo de las tablas, podrias considerar lo
sgte:
- Usa freetds + perl DBI para asegurarte que puedes llegar al M$SQL
desde tu maquina.
- En la BD postgreSQL, puedes usar triggers escritos en Perl + DBI para
actualizar remotamente la BD M$SQL
El problema de esto es que si al momento de activarse el trigger no hay
conexion al M$SQL el registro quedara sin actualizar, podria penalizar
el performance de tu postgreSQL, generar un numero indeseable de
conexiones entre las dos maquinas y, dado que es necesario usar
untrusted perl, significar posibles amenazas de seguridad para tu BD.
Por ultimo, M$SQL tiene la capacidad de subscribirse a origenes de datos
remotos via ODBC, con eso basta instalar los drivers de pgsql en tu
windoze, generar la conexion entre las dos BD's y dejar que M$SQL se
encargue de refrescar los datos cuando sea necesario y/o cada cierto
tiempo.
Saludos
--
Marcos Ramirez A. <mramireza en armada.cl>
Más información sobre la lista de distribución Linux