Conexión Fuente PostgreSQL
Requisitos Previos
Antes de configurar la conexión de origen PostgreSQL en Crestone, asegúrese de contar con lo siguiente:
Requisito Principal: Una base de datos PostgreSQL activa y accesible, versión 9.x o superior, alojada localmente, de forma remota o mediante un proveedor en la nube (como Supabase, Amazon RDS, Azure Database for PostgreSQL o Google Cloud SQL). Se recomienda PostgreSQL 12 o superior para entornos de producción.
Información Requerida:
| Campo | Descripción |
|---|---|
| Server / Host | Dirección IP o nombre de host del servidor PostgreSQL (ej. 192.168.1.100 o db.example.com) |
| Port | Puerto TCP donde escucha PostgreSQL. El valor predeterminado es 5432. |
| Database | Nombre exacto de la base de datos a la que conectarse (ej. postgres, my_database) |
| Username | Usuario con privilegios suficientes para leer datos (ej. postgres) |
| Password | Contraseña del usuario especificado |
Consejo: Si se está conectando a una instancia de Supabase, utilice los siguientes valores:
- Server:
db.<project-ref>.supabase.co- Port:
5432(conexión directa, recomendada)- Database:
postgres- Username:
postgres- Password: la contraseña que definió al crear el proyecto
Paso de Pre-Verificación
Antes de configurar la conexión en Crestone, recomendamos verificar sus credenciales utilizando cualquier cliente PostgreSQL de su preferencia (ej. pgAdmin, DBeaver, psql, TablePlus). Esto garantiza que las credenciales sean correctas y que el servidor sea accesible antes de proceder con la configuración.
Pasos de Configuración
Siga estos pasos para crear una nueva conexión de origen PostgreSQL en Crestone:
-
Navegue a Connections en la barra de navegación superior.
-
Seleccione la pestaña Source.
-
Haga clic en el botón + para crear una nueva conexión.
-
Complete el campo Connection Name con un nombre descriptivo (ej.
Mi Fuente PostgreSQL). -
En el menú desplegable Source Type, seleccione PostgreSQL.
-
Complete el formulario de credenciales con los campos requeridos:
- Server — host o dirección IP de su instancia PostgreSQL
- Port — predeterminado
5432 - Database — nombre de la base de datos de origen
- Username — usuario de la base de datos
- Password — contraseña del usuario
-
Haga clic en Test Connection para validar que Crestone pueda comunicarse exitosamente con la base de datos.
-
Una vez superada la prueba, haga clic en Create Source para guardar la conexión.
Edición de una Conexión Existente
Para actualizar las credenciales de una conexión de origen PostgreSQL existente:
- Navegue a Connections y localice su origen PostgreSQL.
- Haga clic en Edit.
- Modifique los campos deseados en el formulario de credenciales.
- Haga clic en Test Connection para verificar las nuevas credenciales.
- Haga clic en Confirm para guardar los cambios.
Uso de PostgreSQL como Fuente en un Nodo de Extracción
Una vez creada la conexión, puede utilizarla como origen de un Extraction Node:
- Abra o cree un Extraction Node y diríjase a la pestaña Source.
- En Select Source, elija su conexión PostgreSQL.
- En Select Database, elija la base de datos de donde extraerá los datos.
- En Select Schema, elija el esquema que contiene la tabla de destino.
- Elija su modo de extracción:
Modo Visual
- En Select Table, elija la tabla desde la que extraerá los datos.
- En Maps Fields, seleccione las columnas que desea incluir en la extracción. Puede seleccionar todas o un subconjunto.
- Opcionalmente, configure una cláusula WHERE para filtrar filas en el momento de la extracción.
Modo SQL Script
- Active la casilla de alternancia SQL Script mode.
- Escriba su consulta SQL personalizada en el editor. Puede utilizar
JOIN,WHERE, subconsultas y cualquier sintaxis válida de PostgreSQL.
Nota: El modo SQL Script es útil cuando necesita combinar múltiples tablas, aplicar transformaciones o filtrar datos con condiciones complejas antes de cargarlos al destino.
- Continúe a la pestaña Destination para configurar hacia dónde se enviarán los datos extraídos.
Manejo de Tipos de Datos
Crestone extrae datos de PostgreSQL mediante psycopg2. Las columnas con tipos estándar (INTEGER, TEXT, BOOLEAN, FLOAT, DATE, TIMESTAMP) se conservan tal cual. Las columnas con tipos complejos como UUID, JSONB, ARRAY, DECIMAL o tipos personalizados se convierten automáticamente a texto durante la extracción.
Problemas Frecuentes
| Problema | Causa Posible | Solución |
|---|---|---|
| Tiempo de espera de conexión agotado | Firewall bloqueando el puerto 5432 | Permita conexiones entrantes en el puerto 5432 desde la IP del servidor de Crestone |
| Fallo de autenticación | Nombre de usuario o contraseña incorrectos | Verifique primero las credenciales en su cliente PostgreSQL |
| Base de datos no encontrada | El nombre de la base de datos es incorrecto o no existe | Verifique el nombre exacto de la base de datos (distingue mayúsculas y minúsculas) |
| Error de SSL | El servidor requiere SSL | Intente conectarse directamente por el puerto 5432 en lugar de 6543 (PgBouncer) |
| Permiso denegado | El usuario carece de privilegios SELECT | Otorgue al usuario permisos CONNECT y SELECT sobre el esquema y las tablas de destino |
| No hay tablas visibles | El esquema está vacío o el usuario carece de privilegios de uso | Otorgue USAGE en el esquema al usuario configurado |
Permisos Requeridos
El usuario de base de datos configurado en Crestone requiere como mínimo los siguientes privilegios en la base de datos de origen:
-- Permitir conexión
GRANT CONNECT ON DATABASE my_database TO my_user;
-- Permitir visibilidad del esquema
GRANT USAGE ON SCHEMA my_schema TO my_user;
-- Permitir lectura de datos
GRANT SELECT ON ALL TABLES IN SCHEMA my_schema TO my_user;
-- Opcional: permitir acceso a tablas futuras creadas en el esquema
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema
GRANT SELECT ON TABLES TO my_user;Consejo: Si utiliza
postgrescomo usuario (predeterminado en Supabase), ya cuenta con privilegios de superusuario y no se requieren concesiones adicionales.