> ## 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 Amazon RDS Postgres como origen para ClickPipes

# Guía de configuración del origen RDS Postgres

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

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

ClickPipes es compatible con Postgres 12 y versiones posteriores.

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

Puedes omitir esta sección si tu instancia de RDS ya tiene configurada la siguiente opción:

* `rds.logical_replication = 1`

Esta opción suele venir preconfigurada si antes usaste otra herramienta de replicación de datos.

```text theme={null}
postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)
```

Si aún no está configurado, sigue estos pasos:

1. Crea un nuevo grupo de parámetros para tu versión de Postgres con la configuración requerida:
   * Establece `rds.logical_replication` en 1

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/parameter_group_in_blade.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=50e868227634122a77948b9535d24a1e" alt="¿Dónde encontrar los grupos de parámetros en RDS?" size="lg" border width="1800" height="819" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/parameter_group_in_blade.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/change_rds_logical_replication.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=d088c1339c8060c26d731dda2c91e8c0" alt="Cambiar rds.logical_replication" size="lg" border width="1800" height="795" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/change_rds_logical_replication.png" />

2. Aplica el nuevo grupo de parámetros a tu base de datos de RDS Postgres

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/modify_parameter_group.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=47907c022bc148e3d25926696b59f927" alt="Modificar RDS Postgres con el nuevo grupo de parámetros" size="lg" border width="1800" height="1352" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/modify_parameter_group.png" />

3. Reinicia tu instancia de RDS para aplicar los cambios

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/reboot_rds.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=e4698475782c16dbbdf8e362382cf094" alt="Reiniciar RDS Postgres" size="lg" border width="1800" height="757" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/reboot_rds.png" />

<div id="configure-database-user">
  ## Configurar el usuario de base de datos
</div>

Conéctese a su instancia de RDS Postgres como 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}
   GRANT rds_replication TO clickpipes_user;
   ```

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

<Warning>
  Cualquier tabla incluida en la publicación debe tener una **clave primaria** definida *o* tener su **identidad de réplica** 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 delimitar el alcance.
</Warning>

* Para crear una publicación para tablas específicas:

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

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

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

<div id="configure-network-access">
  ## Configurar el acceso de red
</div>

<div id="ip-based-access-control">
  ### Control de acceso basado en IP
</div>

Si desea restringir el tráfico a su instancia de RDS, añada las [IPs NAT estáticas documentadas](/es/integrations/clickpipes/home#list-of-static-ips) a las `reglas de entrada` del grupo de seguridad de su RDS.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/security_group_in_rds_postgres.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=02733bfb58b44dc097d338c2c38ee67a" alt="¿Dónde encontrar el grupo de seguridad en RDS Postgres?" size="lg" border width="1800" height="707" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/security_group_in_rds_postgres.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=ff0c163aa5f736f8147840b67f1ef145" alt="Editar las reglas de entrada del grupo de seguridad anterior" size="lg" border width="1800" height="935" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.png" />

<div id="private-access-via-aws-privatelink">
  ### Acceso privado mediante AWS PrivateLink
</div>

Para conectarse a su instancia de RDS a través de una red privada, puede usar AWS PrivateLink. Siga nuestra [guía de configuración de AWS PrivateLink para ClickPipes](/es/resources/support-center/knowledge-base/cloud-services/aws-privatelink-setup-for-clickpipes) para establecer la conexión.

<div id="workarounds-for-rds-proxy">
  ### Soluciones alternativas para RDS Proxy
</div>

RDS Proxy no admite conexiones de replicación lógica. Si tienes direcciones IP dinámicas en RDS y no puedes usar un nombre DNS ni una función Lambda, aquí tienes algunas alternativas:

1. Con una tarea cron, resuelve periódicamente la IP del endpoint de RDS y actualiza el NLB si cambia.
2. Usando notificaciones de eventos de RDS con EventBridge/SNS: desencadena actualizaciones automáticamente mediante las notificaciones de eventos de AWS RDS.
3. EC2 fija: despliega una instancia de EC2 para que actúe como servicio de sondeo o proxy basado en IP.
4. Automatiza la gestión de direcciones IP con herramientas como Terraform o CloudFormation.

<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 de ClickPipe.
