Ir al contenido

PostgreSQL Query (SSL)

El modulo PostgreSQL Query (SSL) permite ejecutar consultas SQL en bases de datos PostgreSQL utilizando conexiones SSL con certificados de cliente. A diferencia del modulo PostgreSQL Query estándar, este modulo requiere certificados SSL completos (cert, key y CA) que se escriben como archivos temporales durante la ejecución y se eliminan al finalizar. Es ideal para conexiones a bases de datos PostgreSQL que requieren autenticación mutua TLS, como entornos de producción con seguridad estricta.

ParámetroTipoRequeridoDescripción
credentials_idcredentialsSiCredenciales de conexión a PostgreSQL con certificados SSL
querycodeSiConsulta SQL a ejecutar (soporta variables {{variable}})

La credencial debe contener los campos:

  • host: Dirección del servidor PostgreSQL
  • user: Usuario de la base de datos
  • password: Contrasena del usuario
  • database: Nombre de la base de datos
  • port: Puerto de conexión (por defecto: 5432)
  • sslcert: Contenido del certificado SSL del cliente (PEM)
  • sslkey: Contenido de la clave privada SSL del cliente (PEM)
  • sslrootcert: Contenido del certificado CA raiz (PEM)
  • sslmode: Modo SSL, si es verify-full se valida el certificado del servidor
{
"nextModule": "siguiente_modulo",
"data": [
{ "id": 1, "nombre": "Ejemplo", "estado": "activo" }
]
}
{
"credentials_id": "cred_postgres_ssl_01",
"query": "SELECT * FROM transacciones WHERE fecha >= '2024-01-01'"
}

Cuando una variable {{campo}} contiene un valor de texto con comillas simples, el motor las escapa automáticamente duplicandolas (' → '') antes de ejecutar la consulta. No es necesario ninguna función adicional.

-- Dato: ciudad = "L'Hospitalet"
SELECT * FROM clientes WHERE ciudad = '{{ciudad}}'
-- SQL ejecutado: SELECT * FROM clientes WHERE ciudad = 'L''Hospitalet'

Los valores numericos no se escapan — usalos sin comillas en la plantilla: {{cantidad}}.

  • Soporta variables dinámicas {{variable}} en la consulta SQL
  • Los valores de texto con comillas simples se escapan automáticamente (' → '')
  • Los certificados se escriben como archivos temporales en el directorio del sistema operativo y se eliminan automáticamente al finalizar
  • Si sslmode es verify-full, se valida el certificado del servidor contra la CA raiz
  • La conexión se cierra y los archivos temporales se eliminan en el bloque finally, incluso si ocurre un error
  • En caso de error SQL, se incluye la consulta ejecutada en el mensaje de error
  • Los nombres de archivos temporales incluyen un timestamp para evitar colisiones
  • sqlQueryPostgres (consultas en PostgreSQL sin certificados)
  • sqlQuery (consultas en MySQL)
  • sqlQueryMSSQL (consultas en SQL Server)
  • sqlQueryOracle (consultas en Oracle)