Opciones avanzadas de conexión

En este artículo se tratan las características de conexión avanzadas de la extensión PostgreSQL para Visual Studio Code. Use estas opciones cuando necesite reutilizar una cadena de conexión existente, proporcionar archivos de certificado para la validación tls más estricta o conectarse a través de un host bastión con un túnel SSH.

Tip

Para la autenticación estándar, la selección del modo SSL, los grupos de servidores y las conexiones guardadas, consulte Conexiones e identidad.

Usar el modo de entrada de cadena de conexión

Seleccione la pestaña Cadena de conexión (en Conectar mediante:) en el cuadro de diálogo de conexión para pegar una definición de conexión existente. La extensión analiza automáticamente la cadena y rellena los campos de conexión.

La página usa un diseño de dos columnas:

  • Columna izquierda: un área de texto etiquetada Cadena de conexión donde se pega la cadena. Una sugerencia debajo del área de texto dice Omita la contraseña de la cadena de conexión.
  • Columna derecha: un panel de solo lectura Detalles de conexión que muestra los valores interpretados de Nombre del servidor, Nombre de usuario y Nombre de la base de datos a medida que se van extrayendo.

El análisis sintáctico se realiza en tiempo real a medida que escribe o pega. Si el analizador detecta un servidor o valor de usuario que falta, aparece un error de validación encima del área de texto.

Formatos compatibles

La extensión reconoce nueve formatos de cadenas de conexión:

Formato Prefijo o desencadenador Ejemplo
PostgreSQL URI postgres:// o postgresql:// postgresql://user:password@host:5432/dbname?sslmode=require
JDBC jdbc:postgresql:// jdbc:postgresql://host:5432/dbname
Separados por punto y coma (clave=valor) Contiene ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql línea de comandos psql psql -h host -p 5432 -U user -d dbname
Exportaciones de variables de entorno export export PGHOST=localhost seguido de PGPORT, , PGUSER, PGDATABASE, PGPASSWORD
Node.js new Client new Client({ host: "localhost", port: 5432, user: "postgres", database: "mydb" })
Python (psycopg2) psycopg2.connect psycopg2.connect(user="postgres", password="<your-password>", host="localhost", port=5432, database="mydb")
PHP pg_connect pg_connect("host=localhost port=5432 dbname=mydb user=postgres")
Ruby PG::Connection.new PG::Connection.new(host: "localhost", port: "5432", user: "postgres", database: "mydb")

El analizador extrae el host, el usuario, el puerto, la base de datos y la contraseña de todos los formatos. Si un campo de contraseña ya está rellenado en el cuadro de diálogo, el analizador conserva el valor existente.

Note

Tras analizarla, todavía puede abrir el panel Avanzado para configurar ajustes que las cadenas de conexión no incluyen, como túneles SSH o el modo de acceso a la IA para cada conexión (modo de acceso de Copilot en Visual Studio Code, modo de acceso a la IA en Cursor).

Configurar archivos de certificado

Utilice la configuración del archivo de certificado en la sección desplegable SSL del panel Configuración avanzada de la conexión cuando su entorno requiera TLS mutuo o la validación explícita de la entidad de certificación.

Modo de certificado raíz SSL

La lista desplegable modo de certificado raíz SSL controla cómo la extensión proporciona el certificado de entidad de certificación raíz. Elija uno de los siguientes valores:

Modo Comportamiento
None No se usa ningún certificado raíz. La extensión no comprueba la cadena de certificados del servidor.
Sistema La extensión usa el almacén de certificados de confianza del sistema operativo. Este modo requiere el modo Verify-Full SSL; la extensión aplica esto automáticamente.
Archivo personalizado Aparece un campo de texto etiquetado como nombre de archivo del certificado raíz SSL . Escriba la ruta de acceso a un archivo de certificado de CA raíz codificado en PEM.

Importante

Al seleccionar Sistema, el modo SSL se establece en Verify-Full automáticamente. Si cambia el modo SSL a otro valor mientras System está activado, aparece un error de validación: "Se requiere el modo SSL Verify-Full al usar el almacén de certificados del sistema."

Campos de certificado de cliente

Configure TLS mutuo proporcionando las rutas en estos campos dentro de la sección SSL:

Etiqueta de campo Propiedad Descripción
Nombre de archivo del certificado SSL sslcert Ruta de acceso al archivo de certificado de cliente.
Nombre de archivo de clave SSL sslkey Ruta de acceso al archivo de clave privada del cliente.
Nombre de archivo del certificado raíz SSL sslrootcert Ruta al certificado de la CA raíz (visible solo cuando el modo de certificado raíz de SSL es Archivo personalizado).
Nombre del archivo de la CRL SSL sslcrl Ruta de acceso a un archivo de lista de revocación de certificados.
Uso de la compresión SSL sslcompression Habilita la compresión en la conexión SSL.

Tip

Para los modos Verify-CA y Verify-Full , configure siempre el certificado raíz para que la extensión pueda validar el certificado de servidor. Usa el modo System para confiar en el almacén de AC de confianza de tu sistema operativo sin especificar una ruta de archivo.

Conexión a través de un túnel SSH

La tunelización SSH enruta la conexión de PostgreSQL a través de un canal SSH cifrado. Use este enfoque cuando la base de datos no sea accesible directamente desde la estación de trabajo. Por ejemplo, cuando el servidor reside en una red privada detrás de un servidor bastión.

Habilitación del túnel

  1. Abra el cuadro de diálogo de conexión y seleccione Opciones avanzadas para abrir el cajón Configuración de conexión avanzada .
  2. Expanda la sección Túnel SSH del acordeón.
  3. Activa el interruptor Habilitar tunelización SSH. Aparecen los campos de conexión SSH.

Campos del túnel SSH

Etiqueta de campo Descripción
host Nombre de host o dirección IP del servidor SSH (host bastión).
puerto Número de puerto del servidor SSH (valor predeterminado: 22).
username Nombre de usuario para autenticarse con el servidor SSH.
Autenticación Método de autenticación SSH. Elija Contraseña, Archivo de identidad o Agente SSH.

Los campos restantes cambian en función del método de autenticación seleccionado:

Método de autenticación Campos adicionales que se muestran
Contraseña contraseña/frase de contraseña: escriba la contraseña SSH. Guarde la casilla Contraseña/Frase de contraseña para conservar la credencial.
Archivo de identidad Archivo de identidad: escriba la ruta de acceso completa a la clave privada SSH (por ejemplo, ~/.ssh/id_ed25519). contraseña/frase de contraseña: escriba la frase de contraseña de clave si la clave privada está cifrada. Casilla Guardar contraseña/frase de contraseña .
Agente SSH No hay campos adicionales. La extensión delega la autenticación en el agente SSH del sistema (ssh-agent en macOS y Linux, servicio de agente de autenticación de OpenSSH en Windows).

Funcionamiento del túnel

Cuando el túnel SSH está habilitado, la extensión establece primero la conexión SSH, crea un reenvío de puerto local y, a continuación, se conecta a PostgreSQL a través de dicho reenvío. Por este motivo:

  • El nombre del servidor en los campos de conexión principales debe ser la dirección de la base de datos como se ve en el host SSH, que suele ser localhost o una dirección IP privada.
  • El puerto debe ser el puerto de PostgreSQL en el host de destino (normalmente 5432).
  • El establecimiento del túnel SSH agrega latencia de conexión. Considere la posibilidad de aumentar el valor de tiempo de espera de conexión en las opciones avanzadas si se producen tiempos de espera.

Elija la opción avanzada adecuada.

Escenario Característica recomendada
Tiene un URI de PostgreSQL existente, un fragmento de código de la aplicación o un comando psql Seleccione la pestaña Cadena de conexión para rellenar los campos automáticamente.
Su organización requiere archivos de CA personalizados o TLS mutuo Configure los campos de certificado SSL en la sección SSL del cajón avanzado.
Debe usar el almacén de certificados del sistema operativo para la comprobación del servidor. Establezca el modo de certificado raíz SSL en Modo de sistema y SSL en Verify-Full.
Solo se puede acceder a la base de datos a través de un jump box o un host bastión. Habilite el túnel SSH en la sección Túnel SSH del cajón avanzado.