Controlador PostgreSQL
Esta documentación explica la implementación del controlador PostgreSQL y cómo los parámetros de conexión se corresponden con los campos de la interfaz de usuario en la aplicación Gigantic.
Parámetros de Conexión
| Campo UI | Implementación Técnica | Descripción | Requerido | Valor por Defecto |
|---|---|---|---|---|
| Host | host en la configuración de conexión pg | El nombre de host o dirección IP del servidor PostgreSQL | Sí | localhost |
| Puerto | port en la configuración de conexión pg | El número de puerto en el que escucha el servidor PostgreSQL | Sí | 5432 (de driverPorts) |
| Base de Datos | database en la configuración de conexión pg | El nombre de la base de datos a la que conectarse | Sí | Ninguno (debe ser especificado) |
| Esquema | schema en la configuración gigadb | El esquema a usar para consultas y extracción de metadatos | No | public |
| Nombre de Usuario | user en la configuración de conexión pg | Usuario de base de datos para autenticación | Sí | Ninguno (debe ser especificado) |
| Contraseña | password en la configuración de conexión pg | Contraseña para el usuario de base de datos | Sí | Ninguno (debe ser especificado) |
Detalles Técnicos
La implementación del controlador PostgreSQL utiliza la biblioteca Node.js pg con conexiones basadas en Pool.
- El agrupamiento de conexiones se utiliza a través de la clase Pool de pg
- Se soporta la selección de esquema y afecta a la generación de consultas
- El controlador utiliza search_path para establecer el contexto del esquema para operaciones
- Los tipos de datos Point se manejan especialmente en el método normalizeRecordPG
- Para grandes conjuntos de datos, se utiliza TABLESAMPLE para muestreo eficiente
Cuando el túnel SSH está habilitado, las conexiones se establecen primero a través del túnel antes de conectarse al servidor PostgreSQL.
Formato de Cadena de Conexión
Las conexiones PostgreSQL combinan campos individuales de la UI en una cadena de conexión:
La aplicación toma los campos individuales de la UI (Host, Puerto, Base de Datos, Nombre de Usuario, Contraseña) y los combina en este formato para la biblioteca pg.
Opciones de Autenticación
PostgreSQL soporta varios tipos de autenticación:
| Tipo de Autenticación | Mapeo UI | Descripción |
|---|---|---|
| Ninguna | No aplicable para PostgreSQL | Deshabilita autenticación |
| Contraseña | Campos de usuario/contraseña | Autenticación estándar usuario/contraseña |
| Gestor de Contraseñas | Varios campos de gestores de contraseñas | Obtiene credenciales de gestores de contraseñas externos |
Soporte de Túnel SSH
El controlador PostgreSQL soporta túneles SSH para acceso seguro a bases de datos detrás de firewalls o en redes privadas. Para información detallada sobre la configuración de túneles SSH, por favor consulte la documentación de Túneles SSH.
Endpoints de API Utilizados
Las conexiones PostgreSQL se utilizan principalmente en:
- Creación de Tap (descubrimiento de fuente de datos)
- Creación de Sink (destino de datos para datos anonimizados)
- Ejecución de Pipeline (extracción y carga de datos)
Parámetros Personalizados
El controlador PostgreSQL soporta parámetros personalizados adicionales que pueden especificarse en formato YAML para ajustar finamente el comportamiento de conexión, agrupamiento, configuraciones SSL y otras opciones avanzadas.