Versiones compatibles de Postgres
ClickPipes es compatible con Postgres 12 y versiones posteriores.
Habilitar la replicación lógica
-
Para habilitar la replicación en su instancia de Postgres, debemos asegurarnos de que estén configurados los siguientes parámetros:
wal_level = logicalPara comprobarlo, puede ejecutar el siguiente comando SQL:
SHOW wal_level;La salida debería ser
logicalde forma predeterminada. Si no es así, inicie sesión en la consola de PlanetScale, vaya aCluster configuration->Parametersy desplácese hacia abajo hastaWrite-ahead logpara cambiarlo.

- Además, se recomienda aumentar el valor de
max_slot_wal_keep_sizerespecto a su valor predeterminado de 4GB. Esto también se hace desde la consola de PlanetScale; vaya aCluster configuration->Parametersy, a continuación, desplácese hacia abajo hastaWrite-ahead log. Para ayudarle a determinar el nuevo valor, consulte aquí.

Crear un usuario con permisos y una publicación
Conéctese a su instancia de PlanetScale Postgres con el usuario predeterminado postgres.<...> y ejecute los siguientes comandos:
-
Cree un usuario específico para ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
Conceda acceso de solo lectura a nivel de esquema al usuario que creó en el paso anterior. El siguiente ejemplo muestra los permisos para el esquema
public. Repita estos comandos para cada esquema que contenga tablas que quiera replicar:GRANT USAGE ON SCHEMA "public" TO clickpipes_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user; -
Conceda privilegios de replicación al usuario:
ALTER USER clickpipes_user WITH REPLICATION; -
Cree una publicación con las tablas que quiera replicar. Recomendamos encarecidamente incluir en la publicación solo las tablas que necesite para evitar una sobrecarga de rendimiento.
-
Para crear una publicación para tablas específicas:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
Para crear una publicación para todas las tablas de un esquema específico:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
La publicación clickpipes define el conjunto de tablas cuyos eventos de cambio se transmitirán a ClickPipes. Recomendamos no usar FOR ALL TABLES a menos que tenga previsto replicar todas las tablas, ya que incluir tablas innecesarias aumenta el tráfico de WAL desde Postgres hacia ClickPipes y reduce la eficiencia general de la replicación.
Consideraciones
- Para conectarse a PlanetScale Postgres, es necesario añadir la rama actual al nombre de usuario creado anteriormente. Por ejemplo, si el usuario creado se llama
clickpipes_user, el usuario real que debe proporcionarse durante la creación de ClickPipe esclickpipes_user.branch, dondebranchhace referencia al "id" de la rama actual de PlanetScale Postgres. Para identificarlo rápidamente, puede consultar el nombre de usuario del usuariopostgresque utilizó antes para crear el usuario; la parte que aparece después del punto corresponde al id de la rama. - No utilice el puerto
PSBouncer(actualmente6432) para pipes de CDC que se conecten a PlanetScale Postgres; debe usarse el puerto estándar5432. Cualquiera de los dos puertos puede usarse para pipes solo de carga inicial. - Asegúrese de conectarse únicamente a la instancia principal; la conexión a instancias de réplica no es compatible actualmente.
¿Qué sigue?
Ahora puedes crear tu ClickPipe y empezar a ingestar datos desde tu instancia de Postgres en ClickHouse Cloud. Asegúrate de anotar los datos de conexión que usaste al configurar tu instancia de Postgres, ya que los necesitarás durante el proceso de creación de ClickPipe.