pg_dump y pg_restore.
Requisitos previos
- Acceso a su base de datos PostgreSQL de origen.
pg_dumpypg_restoreinstalados en su máquina local. Normalmente se incluyen con las instalaciones de PostgreSQL. Si no es así, puede descargarlos desde el sitio web oficial de PostgreSQL.
La configuración
- Dos tablas:
eventsyusers.eventstiene un millón de filas yusers, mil. eventstiene un índice.- Una vista sobre la tabla
events. - Un par de secuencias
Crear un dump de la base de datos de origen
pg_dump para generar un dump de los objetos anteriores. Es un comando sencillo:
- Sustituye
<user>,<password>,<host>,<port>y<database>por las credenciales de tu base de datos de origen. La mayoría de los proveedores de Postgres te proporcionan una cadena de conexión que puedes usar directamente. --format directoryespecifica que queremos el dump en formato de directorio, que es compatible conpg_restore.-f rds-dumpespecifica el directorio de salida de los archivos del dump. Ten en cuenta que este directorio se creará automáticamente y no debe existir previamente.- También puedes paralelizar el proceso de dump añadiendo el indicador
--jobs, seguida del número de jobs en paralelo que quieras ejecutar. Para más detalles, consulta la documentación de pg_dump.
Migrar el dump a ClickHouse Managed Postgres
pg_restore.
Crear una instancia de ClickHouse Managed Postgres
Restaurar el dump
pg_restore para restaurar el dump en la instancia de ClickHouse Managed Postgres:
--verboseproporciona una salida detallada durante el proceso de restauración.- También puedes usar el indicador
--jobspara paralelizar el proceso de restauración. Para obtener más detalles, consulta la documentación de pg_restore.
Verifica la migración
Consideraciones
- Asegúrese de que las versiones de PostgreSQL de las bases de datos de origen y de destino sean compatibles. Usar una versión de pg_dump anterior a la del server de origen puede provocar la falta de algunas funcionalidades o problemas durante la restauración. Lo ideal es usar la misma versión principal de pg_dump que la base de datos de origen, o una posterior.
- Las bases de datos grandes pueden tardar bastante tiempo en generar el dump y en restaurarse. Planifique en consecuencia para minimizar el tiempo de inactividad y, cuando sea posible, considere usar dumps/restauraciones en paralelo (—jobs).
- Tenga en cuenta que pg_dump / pg_restore no replican todos los objetos relacionados con la base de datos ni todo el estado en tiempo de ejecución. Entre ellos se incluyen roles y membresías de roles, slots de replicación, la configuración a nivel de server (p. ej., postgresql.conf, pg_hba.conf), tablespaces y estadísticas en tiempo de ejecución.