Conector de Base de Datos PostgreSQL
Categoría: Conectores de Bases de Datos
Introducción
Este documento ha sido creado para ayudar a configurar un conector mindzieDataDesigner para la base de datos PostgreSQL. mindzieDataDesigner es la herramienta ETL utilizada por mindzieStudio para convertir tablas de bases de datos en logs de eventos para minería de procesos. El propósito de este documento es ayudar a crear la cadena de conexión y abrir puertos en el firewall si es necesario.
Resumen
El conector de PostgreSQL proporciona conectividad de alto rendimiento a bases de datos PostgreSQL utilizando el proveedor de datos Npgsql. Este conector soporta funciones avanzadas de PostgreSQL y está optimizado para cargas de trabajo analíticas comunes en minería de procesos.
Requisitos del Sistema
- Sistema de Base de Datos: PostgreSQL 10 o superior (se recomienda PostgreSQL 15+)
- Soporte en la Nube: Amazon RDS para PostgreSQL, Azure Database para PostgreSQL, Google Cloud SQL
- Compatibilidad de Plataforma: Windows, Linux, macOS
- Dependencias: Proveedor de datos Npgsql .NET - incluido con el conector
Formato de la Cadena de Conexión
Formato Básico
Host=hostname;Port=5432;Database=database_name;Username=username;Password=password;
Parámetros de Conexión
| Parámetro | Descripción | Requerido | Ejemplo |
|---|---|---|---|
Host o Server |
Nombre del host del servidor PostgreSQL | Sí | postgres.company.com |
Port |
Número de puerto del servidor | No | 5432 (por defecto) |
Database |
Nombre de la base de datos | Sí | process_mining |
Username o User ID |
Nombre de usuario de PostgreSQL | Sí | mindzie_user |
Password |
Contraseña de PostgreSQL | Sí | SecurePassword123 |
Timeout |
Tiempo de espera de conexión (segundos) | No | 30 |
Command Timeout |
Tiempo de espera para comandos (segundos) | No | 600 |
Pooling |
Habilitar agrupamiento de conexiones | No | true |
Minimum Pool Size |
Cantidad mínima de conexiones en el agrupamiento | No | 1 |
Maximum Pool Size |
Cantidad máxima de conexiones en el agrupamiento | No | 100 |
SSL Mode |
Modo de conexión SSL | No | Prefer |
Trust Server Certificate |
Confiar en el certificado SSL | No | false |
Ejemplos de Conexión
PostgreSQL Local
Host=localhost;Port=5432;Database=process_mining;Username=mindzie_user;Password=password;
PostgreSQL Remoto con SSL
Host=postgres.company.com;Port=5432;Database=process_mining;Username=mindzie_user;Password=SecurePassword123;SSL Mode=Require;
Amazon RDS PostgreSQL
Host=myinstance.123456789012.us-east-1.rds.amazonaws.com;Port=5432;Database=process_mining;Username=postgres;Password=RDSPassword123;SSL Mode=Require;
Azure Database para PostgreSQL
Host=myserver.postgres.database.azure.com;Port=5432;Database=process_mining;Username=mindzie@myserver;Password=AzurePassword123;SSL Mode=Require;
Conexión con Configuración de Agrupamiento
Host=postgres-server;Port=5432;Database=process_mining;Username=mindzie_user;Password=password;
Pooling=true;Minimum Pool Size=5;Maximum Pool Size=50;Timeout=30;
Solución de Problemas
Problemas Comunes de Conexión
Error "Conexión rechazada"
- Verificar que PostgreSQL esté en ejecución:
systemctl status postgresql - Comprobar el nombre de host y número de puerto del servidor
- Validar firewall y conectividad de red
- Asegurarse que PostgreSQL acepte conexiones: verificar
listen_addresses
Error "Autenticación fallida"
- Verificar que el usuario y contraseña sean correctos
- Revisar configuración de autenticación en pg_hba.conf
- Confirmar que el usuario exista:
\duen psql - Verificar método de autenticación (md5, scram-sha-256)
Error "La base de datos no existe"
- Verificar el nombre de la base de datos:
\len psql - Revisar que el usuario tenga privilegios CONNECT a la base de datos
- Confirmar que el nombre de la base de datos esté escrito correctamente (sensible a mayúsculas/minúsculas)
Problemas con Conexión SSL
- Revisar configuración SSL de PostgreSQL
- Verificar certificados SSL si usa modo Require
- Usar SSL Mode=Prefer para negociación automática de SSL
- Revisar configuración Trust Server Certificate
Configuraciones Específicas de la Nube
Amazon RDS PostgreSQL
- Usar el endpoint de RDS como nombre de host
- Configurar grupos de seguridad para acceso a la red
- Habilitar conexiones SSL para protección de datos
Azure Database para PostgreSQL
- Usar nombres de servidor completamente calificados
- Incluir @servername en el nombre de usuario para servidor único
- Configurar reglas de firewall para acceso del cliente
- Habilitar características de seguridad para la conexión
Acceso desde Servidor mindzie: Para mayor seguridad, puede configurar su firewall para permitir únicamente conexiones desde servidores mindzie incluyendo en lista blanca direcciones IP específicas. Contacte a soporte mindzie para obtener las direcciones IP actuales de los servidores mindzie que esté utilizando.
Google Cloud SQL PostgreSQL
- Configurar redes autorizadas o usar Cloud SQL Proxy
- Habilitar certificados SSL para conexiones seguras
- Usar IP privada para mayor seguridad
Información Relacionada
- Documentación Oficial: Documentación PostgreSQL
- Proveedor Npgsql: Documentación Npgsql
- Optimización de Rendimiento: Consejos de Rendimiento PostgreSQL
- Seguridad: Seguridad PostgreSQL
💡 Consejo: Aproveche las funciones analíticas avanzadas de PostgreSQL como las funciones de ventana y los CTEs para consultas complejas de minería de procesos que pueden ejecutarse directamente en la base de datos, lo que mejora el rendimiento.