¿Qué es una cadena de conexión PostgreSQL?

Una cadena de conexión PostgreSQL es un fragmento de texto formateado que agrupa toda la información necesaria para conectarse a una base de datos — nombre de host, puerto, credenciales, nombre de la base de datos y configuración SSL — en un único valor. Las aplicaciones, ORMs y herramientas de línea de comandos utilizan cadenas de conexión para establecer sesiones de base de datos sin requerir que cada parámetro se configure por separado. Hay dos formatos comunes: el formato URI (postgresql://user:password@host:port/dbname) y el formato libpq clave=valor (host=localhost port=5432 dbname=mydb). Ambos formatos son compatibles con prácticamente todas las bibliotecas cliente de PostgreSQL.

Descripción de la herramienta

Esta herramienta genera cadenas de conexión PostgreSQL válidas a partir de parámetros individuales. Completa el host, puerto, credenciales, nombre de la base de datos y modo SSL, y genera instantáneamente tres salidas listas para usar: una URL de conexión, un comando psql y una cadena libpq clave=valor.

Ejemplos

Entrada:

Campo Valor
Host db.example.com
Puerto 5432
Usuario alice
Contraseña s3cr3t
Base de datos production
Modo SSL require

URL de conexión:

postgresql://alice:s3cr3t@db.example.com/production?sslmode=require

Comando psql:

psql "postgresql://alice:s3cr3t@db.example.com/production?sslmode=require"

Cadena libpq clave=valor:

host=db.example.com port=5432 dbname=production user=alice password=s3cr3t sslmode=require

Características

  • Tres formatos de salida: Genera una URL de conexión, un comando shell psql y una cadena libpq clave=valor simultáneamente
  • Selector de modo SSL: Admite los seis modos SSL de PostgreSQL — disable, allow, prefer, require, verify-ca y verify-full
  • Valores predeterminados inteligentes: Omite valores predeterminados (puerto 5432, sslmode=prefer) para mantener la salida limpia y mínima
  • Codificación de URL: Codifica automáticamente con porcentaje los nombres de usuario, contraseñas y nombres de base de datos que contienen caracteres especiales
  • Validación de puerto: Valida que el puerto sea un número entre 1 y 65535

Casos de uso

  • Configuración de aplicación: Genera una variable de entorno DATABASE_URL para frameworks como Django, Rails o cualquier aplicación que utilice una cadena de conexión
  • Acceso rápido a CLI: Produce un comando psql listo para ejecutar y conectarse a una base de datos remota sin necesidad de memorizar la sintaxis URI
  • Depuración de conexión: Construye una cadena libpq para probar conexiones con controladores de bajo nivel o herramientas que no aceptan formato URI

Modos SSL explicados

Modo Descripción
disable Sin SSL. La conexión no está cifrada.
allow Utiliza SSL si el servidor lo requiere; de lo contrario, se conecta sin SSL.
prefer Intenta SSL primero; vuelve a la conexión sin cifrar (predeterminado).
require Requiere SSL pero no verifica el certificado del servidor.
verify-ca Requiere SSL y verifica que el certificado del servidor esté firmado por una CA de confianza.
verify-full Requiere SSL, verifica la CA y también comprueba que el nombre de host coincida con el certificado.