Migrar base de datos MySQL a PostgreSQL

Hola a Tod@s.

Vamos a ver como se puede hacer una migración sencilla desde una BBDD de MySQL a otra PostgreSQL. Suponemos que tiene una BBDD de PostgreSQL creada.

Software necesario:

Una vez descargados los dos Software necesarios. Descomprimiremos el pentaho en la ruta que necesitemos y copiaremos la libraría mysql-connector-java-5.1.44-bin.jar a la carpeta data-integration/lib. Ahora ya podemos abrir la herramienta de migración. Para eso dentro de la carpeta data-integration lanzaremos el fichero Spoon.bat.

Ahora vamos con la migración propiamente dicha. 

1º.- Creamos un nuevo Job. Para eso seleccionamos File -> New... -> Job


2º.- Una vez se nos haya creado vamos a definir las conexiones, para ello nos movemos a la pestaña View y pulsamos con botón derecho del ratón sobre Database connections. Seleccionamos la opción New Connection Wizard. Seleccionamos el tipo de BBDD origen y el nombre de la Base de datos a la que nos queremos conectar.


3º.- Insertamos la dirección IP del servidor donde se encuentre la BBDD origen, su puerto y el nombre de la BBDD.


4º.- Insertamos el usuario y contraseña para conectar a dicha BBDD. Podemos probar si la conexión es correcta pulsando en el botón Test database connection.



5º.- Ahora vamos a añadir una BBDD destino del tipo PostgreSQL. Para ello repetiremos los pasos 2, 3 y 4. Pero usando los datos de la nueva BBDD.




6º.- Una vez tengamos las conexiones correctas de la BBDD origen y destino. Iremos al menú Tools -> Wizard - Copy Tables...



7º.- Seleccionamos la ruta donde queremos crear los ficheros temporales de la migración y el nombre del Job. 



8º.- Lanzamos la migración. Pinchando en el icono de Run.



Podría dar en alguna de las tablas el siguiente error: Unable to get value 'Date' from database resultset, index 8. En tal caso para solucionarlo hay que hacer lo siguiente:

1º.- Botón derecho sobre el icono de Copy data to que haya dado el problema y seleccionamos la opción Open References Object -> Transformation 


2º.- Editamos la conexión origen. Pinchando sobre el icono de read from y después en el icono del lápiz.



3º.- Pinchamos en el botón Edit...


4º.- Nos ponemos en el tab Options y en la sección Parameters añadimos en la columna de la izquierda (Parameter) zeroDateTimeBehavior y en la columna de la derecha (Value) el valor convertToNull.
Aceptamos todas las pantallas y grabamos los cambios. Estos pasos tendremos que hacerlos en cada transformación que nos de error.



Un saludo a todos y espero os sirva para ver un poco la luz sobre este tema.


Comentarios

Entradas populares