martes, enero 08, 2008

Migrar BD de Mysql a PostGreSQL (parte 1)

El escenario: una BD en mysql que hay que migrar a postgresql, tomando en cuenta que hay sistemas que están utilizando ambos motores al mismo tiempo.

Temporalmente, se estableció una conexión con dbi-link. La documentación es más o menos sencilla, sólo hay que retocar el escript que corresponda al motor a conectar, en mi caso, mysql. En la carpeta examples, consigimos para conectar entre otros, oracle, mssql, mysql.

Los pasos, son más o menos así:
  1. crear el lenguaje plperl para la BD: create language plperlu;
  2. lanzas dbi_link.sql ( te crea el esquema y las funciones necesarias), en mi caso, lo hice con psql <>
  3. Conectar con la BD, igual, psql <>
Con esto me ha funcionado, de manera que ya puedo ver 2 esquemas adicionales en mi BD, uno creado por dbi_link.sql, y otro que le he puesto de nombre mysql (ya que estoy conectando con mysql) donde están todas las tablas con una estructura que me permite leer los datos, justo lo que necesitaba. Vale decir, que los datos no se están copiando, sino que se ven como en tiempo de replicación.

Esto lo logré con algo de ayuda, además de la documentación, de parte del amigo seyko, que se puede ver en http://www.forosdelweb.com/f21/reporte-almacen-con-datos-postgresql-mysql-536140/#post2201060.

En los próximos minutos/horas/días/semanas/meses espero publicar la segunda parte, donde copiaremos datos de mysql a postgresql.

Para los usuarios de Debian y derivados, que prefieren aptitude, acá una forma muy parecida de hacerlo

No hay comentarios.: