> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Configura una instancia de Postgres de Google Cloud SQL como fuente para ClickPipes

# Guía de configuración de Google Cloud SQL Postgres como fuente para ClickPipes

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<Info>
  Si utiliza alguno de los proveedores compatibles (en la barra lateral), consulte la guía específica correspondiente.
</Info>

<div id="supported-postgres-versions">
  ## Versiones compatibles de Postgres
</div>

Postgres 12 o posterior

<div id="enable-logical-replication">
  ## Habilitar la replicación lógica
</div>

**No es necesario** seguir los pasos siguientes si la configuración `cloudsql. logical_decoding` está activada. Normalmente, esta configuración ya debería estar preconfigurada si migras desde otra herramienta de replicación de datos.

1. Haz clic en el botón **Edit** de la página Overview.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=2ea2321d449fd02090d5bc7c9f2304e5" alt="Botón Edit en Cloud SQL Postgres" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png" />

2. Ve a Flags y cambia `cloudsql.logical_decoding` a on. Este cambio requerirá reiniciar el servidor de Postgres.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=238da2a9e622700f31eda2bd203bdd0f" alt="Cambiar cloudsql.logical_decoding a on" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=22179551b6437ce6227d41e4504b43d1" alt="Reiniciar servidor" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png" />

<div id="creating-clickpipes-user-and-granting-permissions">
  ## Crear un usuario de ClickPipes y conceder permisos
</div>

Conéctese a su instancia de Cloud SQL para Postgres con el usuario administrador y ejecute los siguientes comandos:

1. Cree un usuario dedicado para ClickPipes:

   ```sql theme={null}
   CREATE USER clickpipes_user PASSWORD 'some-password';
   ```

2. 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:

   ```sql theme={null}
   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;
   ```

3. Conceda privilegios de replicación al usuario:

   ```sql theme={null}
   ALTER USER clickpipes_user WITH REPLICATION;
   ```

4. Cree una [publication](https://www.postgresql.org/docs/current/logical-replication-publication.html) con las tablas que quiera replicar. Recomendamos encarecidamente incluir solo las tablas necesarias en la publication para evitar una sobrecarga de rendimiento.

<Warning>
  Cualquier tabla incluida en la publication debe tener una **clave primaria** definida *o* tener su **replica identity** configurada como `FULL`. Consulte las [Preguntas frecuentes de Postgres](/es/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication) para obtener orientación sobre cómo definir el alcance.
</Warning>

* Para crear una publication para tablas específicas:

  ```sql theme={null}
  CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
  ```

  * Para crear una publication para todas las tablas de un esquema específico:

    ```sql theme={null}
    CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
    ```

La publication `clickpipes` contendrá el conjunto de eventos de cambio generados a partir de las tablas especificadas y luego se usará para ingestar el flujo de replicación.

[//]: # "TODO Add SSH Tunneling"

<div id="add-clickpipes-ips-to-firewall">
  ## Añadir las IP de ClickPipes al firewall
</div>

Sigue estos pasos para añadir las IP de ClickPipes a la red.

<Note>
  Si estás usando un túnel SSH, debes añadir las [IP de ClickPipes](/es/integrations/clickpipes/home#list-of-static-ips) a las reglas del firewall del servidor de salto o bastión.
</Note>

1. Ve a la sección **Conexiones**

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=fc7611b010f8407430a9907a6f259f4a" alt="Sección Conexiones en Cloud SQL" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png" />

2. Ve a la subsección Redes

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=b7618f3bf8850180e89bae933d8cbebd" alt="Subsección Redes en Cloud SQL" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png" />

3. Añade las [IP públicas de ClickPipes](/es/integrations/clickpipes/home#list-of-static-ips)

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=72d7b49781c5b9a89680fb2e825e8de6" alt="Añadir redes de ClickPipes al firewall" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=55db73af1b95a829239573e0389b99f7" alt="Redes de ClickPipes añadidas al firewall" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png" />

<div id="whats-next">
  ## ¿Qué sigue?
</div>

Ahora puedes [crear tu ClickPipe](/es/integrations/clickpipes/postgres) y empezar a ingestar datos desde tu instancia de Postgres hacia 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 del ClickPipe.
