Cómo migrar una base de datos MySQL a PostgreSQL usando pgLoader

Introducción

PostgreSQL, también conocido como “Postgres”, es un sistema de gestión de bases de datos relacionales de código abierto (RDBMS). En los últimos años ha experimentado un crecimiento drástico en la popularidad, ya que muchos desarrolladores y empresas han migrado sus datos a Postgres desde otras soluciones de base de datos.

La posibilidad de migrar una base de datos puede ser intimidante, especialmente cuando se migra de un sistema de administración de bases de datos a otro. pgLoader es una herramienta de migración de base de datos de código abierto que tiene como objetivo simplificar el proceso de migración a PostgreSQL. Admite migraciones de varios tipos de archivos y RBDMS, incluidos MySQL y SQLite, a PostgreSQL.

Este tutorial proporciona instrucciones sobre cómo instalar pgLoader y usarlo para migrar una base de datos MySQL remota a PostgreSQL a través de una conexión SSL. Cerca del final del tutorial, también tocaremos brevemente algunos escenarios de migración diferentes donde pgLoader puede ser útil.

Prerrequisitos

Para completar este tutorial, necesitarás lo siguiente:

  • Acceso a dos servidores, cada uno ejecutando Ubuntu 18.04. Ambos servidores deben tener un firewall y un usuario no root con privilegios sudo configurados. Para configurar esto, puedes seguir nuestra guía de configuración inicial del servidor para Ubuntu 18.04.
  • MySQL instalado en uno de los servidores. Para configurarlo, debes seguir los pasos 1, 2 y 3 de nuestra guía sobre Cómo instalar MySQL en Ubuntu. Ten en cuenta que, para completar todos los tutoriales de prerrequisitos vinculados aquí, deberás configurar tu usuario root de MySQL para que se autentique con una contraseña, como se describe en el Paso 3 de la guía de instalación de MySQL.
  • PostgreSQL instalado en el otro servidor. Para configurarlo, debes seguir alguna guía de internet sobre Cómo instalar y usar PostgreSQL en Ubuntu 18.04.
  • Tu servidor MySQL también debe estar configurado para aceptar conexiones encriptadas. Para configurar esto, completa cada paso de nuestro tutorial sobre Cómo configurar SSL/TLS para MySQL en Ubuntu 18.04, incluido el Paso 6 Al seguir esta guía, asegúrate de usar tu servidor PostgreSQL como la máquina cliente de MySQL, ya que necesitarás poder conectarte a tu servidor MySQL desde tu máquina de Postgres para migrar los datos con pgLoader.

Ten en cuenta que, a lo largo de esta guía, el servidor en el que instalaste MySQL se denominará como “MySQL server” y cualquier comando que deba ejecutarse en esta máquina mostrará el nombre, como este:

De manera similar, esta guía se referirá al otro servidor como el servidor “PostgreSQL” o “Postgres” y cualquier comando que deba ejecutarse en esa máquina se mostrará con este nombre:

Ten esto en cuenta al seguir este tutorial para evitar confusiones.

Paso 1 – (Opcional) Creando una base de datos de muestra y una tabla en MySQL

Este paso describe el proceso de crear una base de datos de prueba y llenarla con datos ficticios. Te recomendamos que practiques el uso de pgLoader con este caso de prueba, pero si ya tienes una base de datos que deseas migrar, puedes pasar al siguiente paso.

Comienza abriendo el indicador de MySQL en tu servidor MySQL:

Después de ingresar la contraseña del usuario root de MySQL, verás el indicador de MySQL.

Desde allí, debes crear una nueva base de datos ejecutando el siguiente comando. Puedes asignar un nombre a tu base de datos como desees, pero en esta guía le asignaremos el nombre source_db:

Luego cámbiate a esta base de datos con el comando USE:

Dentro de esta base de datos, usa el siguiente comando para crear una tabla de muestra. Aquí nombraremos esta tabla como, sample_table pero siéntete libre de darle otro nombre:

Luego, rellena esta tabla con algunos datos de muestra de empleados usando el siguiente comando:

A continuación, puedes cerrar el indicador de MySQL:

Ahora que tienes una base de datos de muestra cargada con datos ficticios, puedes pasar al siguiente paso en el que instalarás pgLoader en tu servidor PostgreSQL.

Paso 2 – Instalando pgLoader

pgLoader es un programa que puede cargar datos en una base de datos PostgreSQL desde una variedad de fuentes diferentes. Puedes utilizar el comando COPY de PostgreSQL para copiar datos de una base de datos o archivos de origen (como un archivo de valores separados por comas (CSV)) en una base de datos de PostgreSQL de destino.

pgLoader está disponible en los repositorios predeterminados de Ubuntu APT y puedes instalarlo usando el comando apt. Sin embargo, en esta guía aprovecharemos la opción useSSL de pgLoader, una característica que permite migraciones de MySQL a través de una conexión SSL. Esta función solo está disponible en la última versión de pgLoader que, a partir de este momento, solo puede instalarse utilizando el código fuente de su repositorio GitHub.

Antes de instalar pgLoader, deberás instalar sus dependencias. Si no lo has hecho recientemente, actualiza el índice de paquetes de tu servidor de Postgres:

Luego debes instalar los siguientes paquetes:

  • sbcl: Un compilador para Common Lisp
  • unzip: Un porgrama para archivos.zip
  • libsqlite3-dev: Una colección de archivos de desarrollo para SQLite 3
  • gawk: Abreviatura de “GNU awk”, un lenguaje de escaneo y procesamiento de patrones
  • curl: Una herramienta de línea de comandos para transferir datos desde una URL
  • make: Una utilidad para gestionar la compilación de paquetes
  • freetds-dev: Una biblioteca cliente para MS SQL y bases de datos Sybase
  • libzip-dev: Una biblioteca para leer, crear y modificar archivos zip

Instalación

Usa el siguiente comando para instalar estas dependencias:

Cuando se te solicite, confirma que deseas instalar estos paquetes presionando ENTER.

A continuación, navega a la página de lanzamientos del proyecto pgLoader GitHub y encuentra la última versión. Para esta guía, utilizaremos la última versión en el momento de escribir este artículo: versión 3.6.1. Desplázate hasta el menú Assets y copia el enlace para el archivo tar.gz con la etiqueta Código fuente. Luego pega el enlace precedido del comando wget. Esto descargará el tarball a tu servidor:

Debes extraer el tarball:

Esto creará una serie de nuevos directorios y archivos en tu servidor. Navega en el nuevo directorio de pgLoader:

Luego tienes que usar la utilidad make para compilar el binario pgloader:

Este comando tomará algún tiempo para construir el binario pgloader.

Mueve el archivo binario al directorio /usr/local/bin, la ubicación donde Ubuntu busca los archivos ejecutables:

Puedes probar que pgLoader se instaló correctamente al verificar su versión, así:

pgLoader ya está instalado, pero antes de que puedas comenzar tu migración, deberás realizar algunos cambios de configuración en tus instancias de PostgreSQL y MySQL. Primero nos centraremos en el servidor PostgreSQL.

Paso 3 – Creando un rol y una base de datos de PostgreSQL

El comando pgloader funciona copiando los datos de origen, ya sea desde un archivo o directamente desde una base de datos, e insertándolos en una base de datos PostgreSQL. Por este motivo, debes ejecutar pgLoader como usuario de Linux que tiene acceso a su base de datos de Postgres o debes especificar un rol de PostgreSQL con los permisos adecuados en tu comando de carga.

PostgreSQL gestiona el acceso a la base de datos mediante el uso de roles. Dependiendo de cómo esté configurada la función, puede considerarse como un usuario de la base de datos o un grupo de usuarios de la base de datos.

En la mayoría de los RDBMS, debes crear un usuario con el comando SQL CREATE USER. Postgres, sin embargo, viene instalado con un práctico script llamado createuser. Este script sirve como envoltorio para el comando SQL CREATE USER que puede ejecutar directamente desde la línea de comandos.

Nota:

En PostgreSQL, te auténticas como un usuario de la base de datos utilizando el Protocolo de identificación o el método de autenticación de identificación por defecto, en lugar de con una contraseña.

Esto implica que PostgreSQL toma el nombre de usuario de Ubuntu del cliente y lo utiliza como el nombre de usuario de la base de datos de Postgres permitido. Esto permite mayor seguridad en muchos casos, pero también puede causar problemas en los casos en que te gustaría que un programa externo se conecte a una de tus bases de datos.

pgLoader puede cargar datos en una base de datos de Postgres a través de un rol que se autentica con el método de identificación siempre que ese rol comparta el mismo nombre que el perfil de usuario de Linux que emite el comando pgloader. Sin embargo, para mantener este proceso lo más claro posible, este tutorial describe la configuración de un rol diferente de PostgreSQL que se autentica con una contraseña en lugar de con el método mencionado anteriormente.

Ejecuta el siguiente comando en tu servidor Postgres para crear un nuevo rol. Ten en cuenta el indicador –P, te indica que createuser solicite que ingreses una contraseña para el nuevo rol:

Es posible que primero se te solicite tu contraseña sudo. El script te pedirá que ingreses un nombre para el nuevo rol. En esta guía, llamaremos a este rol como pgloader_pg:

A continuación, createuser te solicitará que ingreses y confirmes una contraseña para este rol. Asegúrate de tomar nota de esta contraseña, ya que la necesitarás para realizar la migración en el Paso 5:

Finalizando

Por último, el script te preguntará si el nuevo rol debe clasificarse como un superusuario. En PostgreSQL, conectarse a la base de datos con un rol de superusuario te permite eludir todas las comprobaciones de permisos de la base de datos, excepto el derecho de inicio de sesión.

Debido a esto, el privilegio de superusuario no se debe usar a la ligera, y la documentación de PostgreSQL recomienda que hacer la mayor parte de tu trabajo de base de datos como un rol no superusuario. Sin embargo, debido a que pgLoader necesita amplios privilegios para acceder y cargar datos en las tablas, puedes otorgar de forma segura estos nuevos privilegios de superusuario de roles. Hazlo escribiendo y y luego presionando ENTER:

PostgreSQL viene con otro script útil que te permite crear una base de datos desde la línea de comandos. Como pgLoader también necesita una base de datos de destino en la que puedas cargar los datos de origen, ejecuta el siguiente comando para crear una. Nombraremos esta base de datos como new_db, pero puedes modificarla si lo deseas:

Si no hay errores, este comando se completará sin ningún resultado.

Ahora que tienes un usuario dedicado de PostgreSQL y una base de datos vacía en la que puede cargar tus datos de MySQL, hay unos pocos cambios más que deberás realizar antes de realizar una migración. Deberás crear un usuario MySQL dedicado con acceso a tu base de datos de origen y agregar sus certificados del lado del cliente al almacén de certificados de confianza de Ubuntu.

Paso 4: crear un usuario dedicado en MySQL y administrar certificados

Proteger los datos de los fisgones es una de las partes más importantes del trabajo de cualquier administrador de base de datos. La migración de datos de una máquina a otra abre una oportunidad para que los actores malintencionados detecten los paquetes que viajan a través de la conexión de red si no están cifrados. En este paso, crearás un usuario dedicado de MySQL que pgLoader usará para realizar la migración a través de una conexión SSL.

Comienza abriendo tu indicador de MySQL:

Desde el indicador de MySQL, usa el siguiente comando CREATE USER para crear un nuevo usuario de MySQL. Nombraremos a este usuario como pgloader_my. Debido a que este usuario solo accederá a MySQL desde tu servidor PostgreSQL, asegúrate de reemplazar your_postgres_server_ip con la dirección IP pública de tu servidor PostgreSQL. Además, reemplaza password con una contraseña segura o frase de contraseña:

Ten en cuenta la cláusula REQUIRE SSL al final de este comando. Esto restringirá al usuario pgloader_my para acceder solo a la base de datos a través de una conexión SSL segura.

A continuación, concede al usuario pgloader_my acceso a la base de datos de destino y a todas sus tablas. Aquí, especificaremos la base de datos que creamos en el Paso 1 opcional, pero si tienes tu propia base de datos que deseas migrar, usa estos nombres en lugar de source_db:

Luego ejecuta el comando FLUSH PRIVILEGES para volver a cargar las tablas de concesión, habilitando los cambios de privilegios:

Después de esto, puedes cerrar el indicador de MySQL:

Configurando el otro servidor

Ahora regresa a tu terminal de servidor Postgres e intenta iniciar sesión en el servidor MySQL como el nuevo usuario pgloader_my. Si seguiste la guía de requisitos previos para configurar SSL/TLS para MySQL, entonces ya tendrás mysql-client instalado tu servidor PostgreSQL y deberías poder conectarte con el siguiente comando:

Si el comando es exitoso, verás el indicador de MySQL:

Después de confirmar que tu usuario pgloader_my puede conectarse correctamente, sigue adelante y cierra el indicador:

En este punto, tienes un usuario de MySQL dedicado que puede acceder a la base de datos de origen desde tu máquina Postgres. Sin embargo, si intentaras migrar tu base de datos MySQL utilizando SSL, el intento fallaría.

El motivo de esto es que pgLoader no puede leer los archivos de configuración de MySQL y, por lo tanto, no sabe dónde buscar el certificado de CA o el certificado de cliente que copiaste en tu servidor PostgreSQL en la guía de configuración de SSL/TLS.

Empero, en lugar de ignorar los requisitos de SSL, pgLoader requiere el uso de certificados de confianza en los casos en que se necesita SSL para conectarse a MySQL. En consecuencia, puedes resolver este problema agregando los archivos ca.pem y client-cert.pem al almacén de certificados de confianza de Ubuntu.

Para hacer esto, copia los archivos ca.pem y client-cert.pem al directorio /usr/local/share/ca-certificates/. Ten en cuenta que también debes cambiar el nombre de estos archivos para que tengan la extensión de archivo .crt. Si no cambias el nombre de ellos, tu sistema no podrá reconocer que has agregado estos nuevos certificados:

Últimos detalles

A continuación, ejecuta el comando update-ca-certificates. Este programa busca certificados en el interior de /usr/local/share/ca-certificates, agrega los nuevos al directorio /etc/ssl/certs/ y genera una lista de certificados SSL de confianza, ca-certificates.crt, basados ​​en el contenido del directorio /etc/ssl/certs/:

Con eso, estás listo para migrar tu base de datos MySQL a PostgreSQL.

Paso 5 – Migración de los datos

Ahora que has configurado el acceso remoto desde tu servidor PostgreSQL a tu servidor MySQL, estás listo para comenzar la migración.

Nota: Es importante hacer una copia de seguridad de tu base de datos antes de realizar cualquier acción que pueda afectar la integridad de tus datos. Sin embargo, esto no es necesario cuando se realiza una migración con pgLoader, ya que no elimina ni transforma los datos; sólo los copia.

Dicho esto, si te sientes cauteloso y te gustaría hacer una copia de seguridad de tus datos antes de migrarlos, puedes hacerlo con la utilidad mysqldump. Consulta la documentación oficial de MySQL para más detalles.

pgLoader permite a los usuarios migrar una base de datos completa con un solo comando. Para una migración de una base de datos MySQL a una base de datos PostgreSQL en un servidor separado, el comando tendría la siguiente sintaxis:

Esto incluye el comando pgloader y dos cadenas de conexión, la primera para la base de datos de origen y la segunda para la base de datos de destino. Ambas cadenas de conexión comienzan al declarar a qué tipo de DBMS apunta la cadena de conexión, seguido del nombre de usuario y la contraseña que tienen acceso a la base de datos (separados por dos puntos), la dirección del host del servidor donde está instalada la base de datos, el nombre de la base de datos que pgLoader debe apuntar, y varias opciones que afectan el comportamiento de pgLoader.

Usando los parámetros definidos anteriormente en este tutorial, puedes migrar tu base de datos MySQL usando un comando con la siguiente estructura. Asegúrate de reemplazar cualquier valor resaltado para alinearlo con tu propia configuración:

Ejecutando el comando

Ten en cuenta que este comando incluye la opción useSSL en la cadena de conexión de MySQL. Al establecer esta opción en true, pgLoader se conectará a MySQL sobre SSL. Esto es necesario, ya que has configurado tu servidor MySQL para que solo acepte conexiones seguras.

Si este comando es exitoso, verás una tabla de salida que describe cómo se realizó la migración:

Para verificar que los datos se hayan migrado correctamente, abre el indicador de PostgreSQL:

Desde allí, conectate a la base de datos en la que cargaste los datos:

Luego, ejecuta la siguiente consulta para probar si los datos migrados están almacenados en tu base de datos PostgreSQL:

Nota: Observa la cláusula FROM en esta consulta especificando el contenido sample_table dentro del esquema source_db:

Nombre calificado

Esto se llama un nombre calificado. Puedes ir más allá y especificar el nombre completo al incluir el nombre de la base de datos, así como los del esquema y la tabla:

Cuando ejecutas consultas en una base de datos PostgreSQL, no necesitas ser tan específico si la tabla se mantiene dentro del public esquema predeterminado. La lógica indica que debes hacerlo aquí cuando pgLoader carga datos en Postgres, aquí se crea y se dirige a un nuevo esquema el nombre de la base de datos original – en este caso, source_db.

Este es el comportamiento predeterminado de pgLoader para las migraciones de MySQL a PostgreSQL. Sin embargo, puedes usar un archivo de carga para indicar a pgLoader que cambie el esquema de la tabla public una vez que hayas terminado de cargar los datos. Observa el siguiente paso para ver un ejemplo de cómo hacer esto.

Si los datos se cargaron correctamente, verás la siguiente tabla en el resultado de la consulta:

Para cerrar el indicador de Postgres, ejecuta el siguiente comando:

Ahora que hemos analizado cómo migrar una base de datos MySQL a través de una red y cargarla en una base de datos PostgreSQL, veremos algunos otros escenarios de migración comunes en los que pgLoader puede ser útil.

Paso 6 – Explorando otras opciones de migración

pgLoader es una herramienta altamente flexible que puede ser útil en una amplia variedad de situaciones. Aquí, echaremos un vistazo rápido a algunas otras formas en que puedes usar pgLoader para migrar una base de datos MySQL a PostgreSQL.

Migración con un archivo de carga pgLoader

En el contexto de pgLoader, un archivo de carga o archivo de comando, es un archivo que le dice a pgLoader cómo realizar una migración. Este archivo puede incluir comandos y opciones que afectan el comportamiento de pgLoader, brindándote un mejor control sobre cómo se cargan tus datos en PostgreSQL y permitiéndote realizar migraciones complejas.

La documentación de pgLoader proporciona instrucciones completas sobre cómo usar y extender estos archivos para admitir varios tipos de migración, por lo que aquí analizaremos un ejemplo comparativamente rudimentario. Realizaremos la misma migración que ejecutamos en el Paso 5, pero también incluiremos un comando ALTER SCHEMA para cambiar el esquema new_db de la base de datos de source_dba public.

Para comenzar, crea un nuevo archivo de carga en el servidor de Postgres usando tu editor de texto preferido:

Luego agrega el siguiente contenido, asegurándote de actualizar los valores resaltados para alinearlos con tu propia configuración:

Esto es lo que hace cada una de estas cláusulas:

  • LOAD DATABASE: Esta línea le indica a pgLoader que cargue datos de una base de datos separada, en lugar de un archivo o archivo de datos.
  • FROM: Esta cláusula especifica la base de datos de origen. En este caso, apunta a la cadena de conexión para la base de datos MySQL que creamos en el Paso 1.
  • INTO: Del mismo modo, esta línea especifica la base de datos PostgreSQL en la que pgLoader debe cargar los datos.
  • WITH: Esta cláusula te permite definir comportamientos específicos para pgLoader. Puedes encontrar aquí la lista completa de opciones de WITH que son compatibles con las migraciones de MySQL. En este ejemplo solo incluimos dos opciones:

Opciones

  • include drop: Cuando se usa esta opción, pgLoader eliminará las tablas en la base de datos PostgreSQL de destino que también aparecen en la base de datos MySQL de origen. Si usas esta opción al migrar datos a una base de datos PostgreSQL existente, debes hacer una copia de seguridad de toda la base de datos para evitar perder datos.
  • create tables: Esta opción le dice a pgLoader que cree nuevas tablas en la base de datos PostgreSQL de destino basándose en los metadatos que se encuentran en la base de datos MySQL. Si se utiliza la opción opuesta create no tables, las tablas de destino ya deben existir en la base de datos de Postgres de destino antes de la migración.
  • ALTER SCHEMA: Siguiendo la cláusula WITH, puedes agregar comandos SQL específicos como este para indicar a pgLoader que realice acciones adicionales. Aquí, instruimos a pgLoader para cambiar el esquema de la nueva base de datos PostgreSQL a partir de source_db a public, pero sólo después de que se ha creado el esquema.

Ten en cuenta que también puedes anidar dichos comandos dentro de otras cláusulas, como por ejemplo BEFORE LOAD DO, para indicar a pgLoader que ejecute esos comandos en puntos específicos del proceso de migración.

Este es un ejemplo demostrativo de lo que puedes incluir en un archivo de carga para modificar el comportamiento de pgLoader. La lista completa de cláusulas que uno puede agregar a un archivo de carga y lo que hacen se puede encontrar en la documentación oficial de pgLoader.

Guarda y cierra el archivo de carga una vez que hayas terminado de agregar este contenido. Para usarlo, incluye el nombre del archivo como un argumento para el comando pgloader:

Comando

Para probar que la migración fue exitosa, abre el indicador de Postgres:

Entonces conéctate a la base de datos:

Y ejecuta la siguiente consulta:

Esta salida confirma que pgLoader migró los datos correctamente, y también que el comando ALTER SCHEMA que agregamos al archivo de carga funcionó como se esperaba, ya que no tuvimos que especificar el esquema source_db en la consulta para ver los datos.

Ten en cuenta que, si planeas usar un archivo de carga para migrar los datos almacenados en una base de datos a otra ubicada en una máquina separada, aún deberás ajustar las reglas de red y firewall relevantes para que la migración sea exitosa.

Migración de una base de datos MySQL a PostgreSQL localmente

Puedes usar pgLoader para migrar una base de datos MySQL a una base de datos PostgreSQL alojada en la misma máquina. Todo lo que necesitas es ejecutar el comando de migración desde un perfil de usuario de Linux con acceso al usuario root de MySQL:

Realizar una migración local como esta significa que no tienes que realizar ningún cambio en la configuración de red predeterminada de MySQL ni en las reglas de firewall de tu sistema.

Migración desde un archivo CSV

También puedes cargar una base de datos PostgreSQL con datos de un archivo CSV.

Suponiendo que tengas un archivo de datos CSV llamado load.csv, el comando para cargarlo en una base de datos de Postgres podría tener este aspecto:

Debido a que el formato CSV no está completamente estandarizado, existe la posibilidad de que tengas problemas al cargar datos directamente desde un archivo CSV de esta manera. Afortunadamente, puedes corregir las irregularidades incluyendo varias opciones con las opciones de línea de comando de pgLoader o especificándolas en un archivo de carga. Debes consultar la documentación de pgLoader sobre el tema para obtener más detalles.

Migración a una base de datos PostgreSQL administrada

También es posible realizar una migración de una base de datos autogestionada a una base de datos PostgreSQL administrada. Para ilustrar cómo podría verse este tipo de migración, usaremos el servidor MySQL y una base de datos de PostgreSQL administrada por Binaria. También usaremos la base de datos de muestra que creamos en el Paso 1, pero si omitiste ese paso y tienes tu propia base de datos que deseas migrar, puedes apuntar a esa en su lugar.

Para esta migración, no necesitaremos la opción useSSL de pgLoader, ya que solo funciona con bases de datos MySQL remotas y ejecutaremos esta migración desde una base de datos MySQL local. Sin embargo, usaremos la opción sslmode=require cuando carguemos y nos conectemos a la base de datos de Administrada de Binaria PostgreSQL, lo que garantizará que tus datos estén protegidos.

Debido a que no estamos usando useSSL esta vez, puedes usar apt para instalar pgLoader junto con el paquete postgresql-client, lo que te permitirá acceder a la base de datos PostgreSQL administrada desde tu servidor MySQL:

A continuación, puedes ejecutar el comando pgloader para migrar la base de datos. Para hacer esto, necesitarás la cadena de conexión para la base de datos administrada.

Cadena de conexión

Para las bases de datos administradas de Binaria, puedes copiar la cadena de conexión desde el Panel de control de la nube. Primero, has clic en Bases de datos en el menú de la barra lateral izquierda y selecciona la base de datos a la que deseas migrar los datos. Luego, desplázate hacia abajo hasta la sección Detalles de conexión.

Has clic en el menú desplegable y selecciona Cadena de conexión. Luego, has clic en el botón Copiar para copiar la cadena en tu portapapeles y pegarla en el siguiente comando de migración, reemplazando la cadena de conexión de PostgreSQL de ejemplo que se muestra aquí. Esto migrará tu base de datos MySQL a la base de datos defaultdb PostgreSQL como el rol doadmin PostgreSQL:

Después de esto, puedes usar la misma cadena de conexión como argumento para psql conectarte a la base de datos PostgreSQL administrada y confirmar que la migración fue exitosa:

Luego, ejecuta la siguiente consulta para verificar que pgLoader haya migrado correctamente los datos:

Esto confirma que pgLoader migró exitosamente tu base de datos MySQL a tu instancia administrada de PostgreSQL.

Conclusión

pgLoader es una herramienta flexible que puede realizar una migración de base de datos en un solo comando. Con unos pocos ajustes de configuración, puedes migrar una base de datos completa de una máquina física a otra mediante una conexión segura SSL/TLS. Nuestra esperanza es que, al seguir este tutorial, habrás adquirido un entendimiento más claro de las capacidades de pgLoader y los posibles casos de uso.