Requisitos previos
- Acceso a la base de datos PostgreSQL de origen.
psql,pg_dumpypg_restoreinstalados en su máquina local. Esto es necesario para crear tablas vacías en la base de datos de destino. Normalmente se incluyen con las instalaciones de PostgreSQL. Si no es así, puede descargarlos desde el sitio web oficial de PostgreSQL.- La base de datos de origen debe ser accesible desde ClickHouse Managed Postgres. Asegúrese de que las reglas de firewall o la configuración del Security Group necesarias permitan esta conectividad. Puede obtener la IP de salida de su instancia de Managed Postgres de la siguiente manera:
La configuración
- La base de datos de origen debe tener
wal_levelconfigurado comological. - La base de datos de origen debe tener
max_replication_slotsconfigurado con un valor mínimo de1. - En RDS (que esta guía usa como ejemplo), debes asegurarte de que el grupo de parámetros tenga
rds.logical_replicationconfigurado como1. - El usuario de la base de datos de origen debe tener el privilegio
REPLICATION. En el caso de RDS, ejecutarías: - El rol que uses para la base de datos de destino debe tener permisos de escritura sobre los objetos de la base de datos de destino:
Dump únicamente del esquema de la base de datos de origen
pg_dump:
- Sustituye
<user>,<password>,<host>,<port>y<database>por las credenciales de tu base de datos de origen. -sespecifica que queremos un dump solo del esquema.--format directoryespecifica que queremos el dump en formato de directorio, que es adecuado parapg_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 de antemano.
events y users. events tiene un millón de filas y users tiene mil filas.
Crear una instancia de Managed Postgres
Restaura el esquema en ClickHouse Managed Postgres
pg_restore:
- Sustituye
<user>,<password>,<host>,<port>y<database>por las credenciales de tu base de datos de destino de ClickHouse Managed Postgres. --verboseproporciona información detallada durante el proceso de restauración. Este comando creará todas las tablas, índices, vistas y otros objetos del esquema en la base de datos de destino sin datos.
Configurar la replicación lógica
Crear una publicación en la base de datos de origen
Crear una publicación FOR ALL TABLES puede generar una sobrecarga de red si hay muchas tablas. Se recomienda especificar solo las tablas que desea replicar.
Crear una suscripción en la base de datos ClickHouse Managed Postgres de destino
Advertencias y consideraciones
- La replicación lógica solo replica cambios en los datos (INSERT, UPDATE, DELETE). Los cambios de esquema (como ALTER TABLE) deben gestionarse por separado.
- Asegúrese de que la conexión de red entre las bases de datos de origen y destino sea estable para evitar interrupciones en la replicación.
- Supervise el retraso de la replicación para asegurarse de que la base de datos de destino mantiene el ritmo de la base de datos de origen. Establecer un valor adecuado para
max_slot_wal_keep_sizeen la base de datos de origen puede ayudar a gestionar un slot de replicación en crecimiento y evitar que consuma demasiado espacio en disco. - Según su caso de uso, quizá le convenga configurar supervisión y alertas para el proceso de replicación.