Requisitos previos
- Acceso a tu base de datos PostgreSQL de origen.
- Una instancia de ClickHouse Managed Postgres a la que quieras migrar tus datos.
- PeerDB instalado en una máquina. Puedes seguir las instrucciones de instalación en el repositorio de GitHub de PeerDB. Solo necesitas clonar el repositorio y ejecutar
docker-compose up. Para esta guía, usaremos la UI de PeerDB, que estará disponible enhttp://localhost:3000una vez que PeerDB esté en ejecución.
Consideraciones antes de la migración
- Objetos de base de datos: PeerDB creará tablas automáticamente en la base de datos de destino según el esquema de origen. Sin embargo, algunos objetos de base de datos, como índices, restricciones y triggers, no se migran automáticamente. Tendrás que recrearlos manualmente en la base de datos de destino después de la migración.
- Cambios de DDL: Si habilitas la replicación continua, PeerDB mantendrá la base de datos de destino sincronizada con la de origen para las operaciones DML (INSERT, UPDATE, DELETE) y propagará las operaciones ADD COLUMN. Sin embargo, otros cambios de DDL (como DROP COLUMN y ALTER COLUMN) no se propagan automáticamente. Más información sobre la compatibilidad con cambios de esquema aquí
- Conectividad de red: Asegúrate de que tanto la base de datos de origen como la de destino sean accesibles desde la máquina en la que se ejecuta PeerDB. Puede que tengas que configurar reglas de firewall o la configuración del Security Group para permitir la conectividad.
Crear peers
+ New peer.
Creación del peer de origen
Create peer para guardar el peer.
Creación del peer de destino
Create peer para guardar el peer de destino.
Ahora deberías ver tanto el peer de origen como el peer de destino en la sección “Peers”.
Obtener el volcado del esquema de origen
pg_dump para crear un volcado solo del esquema de tu base de datos PostgreSQL de origen:
Instalar pg_dump
Instalar pg_dump
Ubuntu:Actualiza las listas de paquetes:Instala el cliente de PostgreSQL:macOS:Método 1: usar Homebrew (recomendado)Instala Homebrew si no lo tienes:Instala PostgreSQL:Verifica la instalación:
Eliminar restricciones UNIQUE e índices del volcado del esquema
Aplicar el volcado del esquema a la base de datos de destino
psql y ejecutando el archivo de volcado del esquema:
session_replication_role establecido en replica:
Crear un mirror
+ New mirror.
- Asigna a tu mirror un nombre que describa la migración.
- Selecciona los peers de origen y destino que creaste anteriormente en los menús desplegables.
- Asegúrate de que:
- Soft delete esté desactivado.
- Expande
Advanced settings. Asegúrate de que Postgres type system esté habilitado y PeerDB columns esté deshabilitado.
- Selecciona las tablas que quieres migrar. Puedes elegir tablas específicas o seleccionar todas las tablas de la base de datos de origen.
Selección de tablasAsegúrate de que los nombres de las tablas de destino sean los mismos que los de las tablas de origen en la base de datos de destino, ya que en el paso anterior migramos el esquema tal cual.
- Una vez configurado el mirror, haz clic en el botón
Create mirror.
Espere a que termine la carga inicial
Supervisión de la carga inicial y la replicación
- Inicialmente, ejecutamos una consulta
COUNTpara estimar el número de filas de cada tabla. - Luego ejecutamos una consulta de particionamiento con
NTILEpara dividir las tablas grandes en fragmentos más pequeños y hacer más eficiente la transferencia de datos. - Después ejecutamos comandos
FETCHpara obtener datos de la base de datos de origen, y luego PeerDB los sincroniza con la base de datos de destino.
Tareas posteriores a la migración
Estos pasos pueden variar según su caso de uso concreto y los requisitos de la aplicación. Lo importante es garantizar la coherencia de los datos, minimizar el tiempo de inactividad y validar la integridad de los datos migrados antes de completar el cambio al nuevo sistema.
- Ejecute comprobaciones de validación previas al cambio
- Detén las escrituras en el sistema de origen
- Confirma que la replicación esté completamente sincronizada
- Vuelva a crear y habilite las restricciones, los índices y los triggers
replica:
- Restablecer las secuencias de las tablas de destino
- Redirigir el tráfico de la aplicación
- Redirige el tráfico de lectura a ClickHouse Managed Postgres.
- Redirige el tráfico de escritura a ClickHouse Managed Postgres.
- Supervisa los errores de la aplicación, las infracciones de restricciones y el estado de la base de datos.
- Limpiar los recursos
Slots de replicaciónSi habilitaste la replicación continua, PeerDB creará un slot de replicación en la base de datos PostgreSQL de origen. Asegúrate de eliminar manualmente el slot de replicación de la base de datos de origen cuando hayas terminado la migración para evitar el uso innecesario de recursos.
Referencias
- Documentación de ClickHouse Managed Postgres
- Guía de PeerDB para crear CDC
- FAQ de Postgres ClickPipe (también válida para PeerDB)
Próximos pasos
pg_dump y pg_restore. Ya está todo listo para explorar las funciones de Managed Postgres y su integración con ClickHouse. Aquí tiene una guía de inicio rápido de 10 minutos para comenzar: