para online nube mejor herramienta gratis google datos cual mysql database postgresql pg-dump

online - mysql vs postgresql 2018



Rellenar la base de datos MySQL desde el archivo de volcado postgresql (2)

En realidad, necesito llenar la base de datos MySQL desde un archivo SQL que fue generado por postgresql como

pg_dump dbname > myfile.sql

Por lo tanto, si trato de hacer como

mysql> source myfile.sql

Esto obviamente no funciona. A pesar de que sí llenó el 70% de las tablas, pero quiero saber ¿hay alguna manera de lograrlo?

Desde el archivo fuente de postgresql, ¿puedo crear y llenar mi base de datos de MySql?


La mejor manera de migrar sin perder datos es usar las migraciones de Mysql Workbench. Este tutorial explica cómo hacer las migraciones. Algunas cosas que no se mencionan en el tutorial que me parecieron importantes son las siguientes:

  • Instale los últimos controladores de Postgres para conectar la base de datos de origen de Postgres, cómo instalar este controlador se puede encontrar en este tutoria :
  • Descargue e instale los controladores postgres odbc desde here
  • Después de la instalación, verá los controladores en "Open ODBC Administrator" 1. 2.
  • Utilice "PostgreSQL Unicode (x64)" como controlador al configurar la base de datos de origen de Postgres

Nota: el uso de "PostgreSQL ANSI (x64)" como controlador da error mientras se realizan migraciones. Puede ser porque mis datos contienen caracteres Unicode.


Si desea migrar los datos y la estructura de la tabla de postgres al equivalente de mysql, la forma más sencilla es utilizar una herramienta de conversión de base de datos como: ESF Data Migration Toolkit o el homólogo de openDBCopy abierto openDBCopy .

Si no quiere o no puede usar una herramienta de migración, y solo necesita migrar datos, otra forma simple podría ser exportar datos en formato CSV desde PostgreSQL y luego importarlos en MySQL, para que pueda hacerlo con algunos comandos como

ON Postgres (Exportación):

COPY (SELECT query) TO ''/path to csv file -*.csv'';

EN Mysql (Importar):

load data infile ''path to csv file-*.csv'' into table tablename fields terminated by '','' lines terminated by ''/n'' .

Si de todos modos desea continuar con la herramienta de volcado (pg_dump), puede agregar estas opciones para generar un archivo de volcado que MySQL pueda entender mejor:

-d --data-only --no-owner --no-acl --attribute-inserts --disable-dollar-quoting --no-tablespaces

Tenga en cuenta que, dependiendo de la estructura de la base de datos de origen, podría tener que manipular el archivo de volcado para que MysQL pueda entender el archivo de volcado generado ...