Skip to main content
Puedes seguir este camino tú mismo, automatizarlo con un script o entregárselo a un agente de IA. Cambia a la vista de Cloud UI para ver la versión de la consola.En esta página se explica el aprovisionamiento de ClickHouse Managed Postgres, la carga de datos, su replicación a ClickHouse y la ejecución de consultas, todo desde la línea de comandos con la ClickHouse CLI (clickhousectl) y psql. Los comandos no son interactivos; clickhousectl genera JSON con --json.

Requisitos previos

Instala ClickHouse CLI:
También necesitas psql (herramientas del client de PostgreSQL; en MacOS, brew install libpq) y jq.Las operaciones de escritura (crear, eliminar) requieren autenticación mediante API key; el inicio de sesión con OAuth es de solo lectura:
Como alternativa, configura las variables de entorno CLICKHOUSE_CLOUD_API_KEY y CLICKHOUSE_CLOUD_API_SECRET. Verifica con clickhousectl cloud auth status; debería aparecer una entrada con el alcance read/write.

Parte 1: Crear Postgres y cargar datos

Crear un servicio de Postgres

Cree el servicio y guarde la respuesta; la contraseña se muestra solo una vez:
La respuesta incluye el ID del servicio, el nombre de host y una cadena de conexión lista para usar:
Extrae lo necesario para el resto de esta guía:
Si pierdes la contraseña, genera una nueva con clickhousectl cloud postgres reset-password $PG_ID --generate.

Espera a que finalice el aprovisionamiento del servicio

El aprovisionamiento tarda unos minutos. Consulta periódicamente hasta que el estado sea running:

Cargar datos de muestra

Cree dos tablas e inserte 1 millón de eventos con psql:
La inserción de 1 millón de filas se completa en unos 7 segundos en c6gd.large (el tamaño más pequeño) gracias al almacenamiento NVMe. Compruébelo con una consulta; el número de filas varía entre ejecuciones porque los datos se generan con random():

Parte 2: Replicar en ClickHouse

Crear un servicio de ClickHouse

Cree un servicio en la misma región y guarde la respuesta; la contraseña solo aparece en la respuesta de creación:
Espere hasta que esté en ejecución; ClickPipe requiere que el destino esté en ejecución:
Para usar un servicio existente, configure CH_ID con el valor de clickhousectl cloud service list y CH_PASSWORD con la contraseña del usuario default, que necesita el paso pg_clickhouse.

Replicar las tablas en ClickHouse

Cree un Postgres CDC ClickPipe en el servicio de ClickHouse que apunte al nombre de host de Managed Postgres. El pipe copia las filas existentes y luego mantiene ClickHouse sincronizado con los cambios posteriores:
Notas:
  • Las tablas replicadas quedan en la base de datos default del servicio de ClickHouse, con los nombres definidos por los destinos de --table-mapping
  • La publication y el replication slot se crean automáticamente, y la publication se limita a las tablas mapeadas; pasa --publication-name para usar una que administres tú mismo
  • Usa el nombre de host directo de Postgres; la replicación no es compatible a través de PgBouncer

Espera a que el pipe llegue a Running

El pipe pasa por Provisioning, Setup y, en el caso de tablas más grandes, Snapshot antes de llegar a Running, lo que suele tardar unos 4 minutos en el caso del primer pipe de un servicio. Failed e InternalError son estados terminales:

Consultar los datos replicados en ClickHouse

Ejecuta consultas SQL directamente desde la CLI en el servicio de ClickHouse. La primera llamada aprovisiona automáticamente un endpoint de Query API y una API key con alcance específico para el servicio:
Las nuevas operaciones de escritura en Postgres se replican de forma continua. Inserte una fila y consulte repetidamente hasta que el recuento alcance 1.000.001 (normalmente, en menos de un minuto):

Consultar ClickHouse desde Postgres

La extensión pg_clickhouse permite que Postgres actúe como una capa de consulta unificada para datos transaccionales y analíticos. Obtén el nombre de host HTTPS de ClickHouse y, a continuación, configura la extensión con psql:
El heredoc se deja sin comillas a propósito, para que el shell sustituya $CH_HOST y $CH_PASSWORD antes de que el SQL llegue a Postgres. Las tablas replicadas ahora aparecen como tablas externas en el esquema organization; las consultas contra ellas se ejecutan en ClickHouse.Medido en c6gd.large con este conjunto de datos, las consultas analíticas se ejecutan entre 6 y 9 veces más rápido mediante las tablas externas (por ejemplo, un GROUP BY de 5 agregaciones: 176 ms vía ClickHouse frente a 1.133 ms localmente; un JOIN con agregaciones: 298 ms frente a 2.764 ms).

Limpieza

Elimina primero el ClickPipe y luego el servicio de Postgres. Al eliminar un servicio, todos sus datos se borran de forma permanente:
No se puede eliminar directamente un servicio de ClickHouse en ejecución. Deténgalo, espere a que aparezca como stopped y luego elimínelo:
Última modificación el 24 de julio de 2026