Options de connexion avancées

Cet article décrit les fonctionnalités de connexion avancées de l’extension PostgreSQL pour Visual Studio Code. Utilisez ces options lorsque vous devez réutiliser un chaîne de connexion existant, fournir des fichiers de certificat pour une validation TLS plus stricte ou vous connecter via un hôte bastion avec un tunnel SSH.

Tip

Pour l’authentification standard, la sélection du mode SSL, les groupes de serveurs et les connexions enregistrées, consultez Connexions et identités.

Utiliser le mode de saisie par chaîne de connexion

Sélectionnez l’onglet Chaîne de connexion (sous Se connecter via :) dans la boîte de dialogue de connexion pour coller une définition de connexion existante. L’extension analyse automatiquement la chaîne et remplit les champs de connexion.

La page utilise une disposition à deux colonnes :

  • Colonne de gauche : zone de texte intitulée Chaîne de connexion où vous collez la chaîne. Une indication sous la zone de texte indique Veuillez omettre le mot de passe de la chaîne de connexion.
  • Colonne de droite : panneau Détails de connexion en lecture seule qui affiche le nom du serveur analysé, le nom d’utilisateur et les valeurs de nom de base de données lors de leur extraction.

L’analyse se produit en direct lorsque vous tapez ou collez. Si l’analyseur détecte une valeur serveur ou utilisateur manquante, une erreur de validation apparaît au-dessus de la zone de texte.

Formats pris en charge

L’extension reconnaît neuf formats de chaîne de connexion :

Format Préfixe ou déclencheur Exemple
PostgreSQL URI postgres:// ou postgresql:// postgresql://user:password@host:5432/dbname?sslmode=require
JDBC jdbc:postgresql:// jdbc:postgresql://host:5432/dbname
Séparés par des points-virgules (key=value) Contient ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql ligne de commande psql psql -h host -p 5432 -U user -d dbname
Exportations de variables d’environnement export export PGHOST=localhost suivi 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")

L’analyseur extrait l’hôte, l’utilisateur, le port, la base de données et le mot de passe de tous les formats. Si un champ de mot de passe est déjà renseigné dans la boîte de dialogue, l’analyseur conserve la valeur existante.

Note

Après l’analyse, vous pouvez toujours ouvrir le volet Avancé pour configurer des paramètres que les chaînes de connexion ne prennent pas en charge, tels que les tunnels SSH ou le mode d’accès à l’IA pour chaque connexion (mode d’accès à Copilot dans Visual Studio Code, mode d’accès à l’IA dans Cursor).

Configurer des fichiers de certificat

Utilisez les paramètres du fichier de certificat dans la section SSL de type accordéon du volet Paramètres de connexion avancés lorsque votre environnement nécessite une authentification TLS mutuelle ou une validation explicite de l’autorité de certification.

Mode de certificat racine SSL

La liste déroulante du mode certificat racine SSL contrôle la façon dont l’extension fournit le certificat d’autorité de certification racine. Choisissez une des valeurs suivantes :

Mode Comportement
Aucun Aucun certificat racine n’est utilisé. L’extension ne vérifie pas la chaîne de certificats de serveur.
Système L’extension utilise le magasin de certificats approuvé de votre système d’exploitation. Ce mode nécessite le mode Ssl complet de vérification ; l’extension applique cette opération automatiquement.
Fichier personnalisé Un champ de texte intitulé nom de fichier du certificat racine SSL s’affiche. Entrez le chemin d’accès à un fichier de certificat d’autorité de certification racine codé en PEM.

Important

Lorsque vous sélectionnez Système, le mode SSL est défini sur Verify-Full automatiquement. Si vous remplacez le mode SSL par une autre valeur pendant que System est actif, une erreur de validation s’affiche : «Verify-Full mode SSL est requis lors de l’utilisation du magasin de certificats système ».

Champs de certificat client

Configurez le protocole TLS mutuel en fournissant des chemins d’accès dans ces champs dans la section SSL :

Libellé du champ Propriété Description
Nom de fichier du certificat SSL sslcert Chemin d’accès au fichier de certificat client.
Nom de fichier de clé SSL sslkey Chemin d’accès au fichier de clé privée du client.
Nom de fichier du certificat racine SSL sslrootcert Chemin vers le certificat de l’autorité de certification racine (visible uniquement lorsque le mode de certificat racine SSL est Fichier personnalisé).
Nom de fichier CRL SSL sslcrl Chemin d’accès à un fichier de liste de révocation de certificats.
Utiliser la compression SSL sslcompression Active la compression sur la connexion SSL.

Tip

Pour les modes Verify-CA et Verify-Full , configurez toujours le certificat racine afin que l’extension puisse valider le certificat de serveur. Utilisez le mode système pour vous appuyer sur le magasin d’autorité de certification approuvé de votre système d’exploitation sans spécifier de chemin d’accès au fichier.

Se connecter via un tunnel SSH

Le tunneling SSH route la connexion PostgreSQL via un canal SSH chiffré. Utilisez cette approche lorsque la base de données n’est pas directement accessible à partir de votre station de travail. Par exemple, lorsque le serveur réside dans un réseau privé derrière un hôte bastion.

Activer le tunnel

  1. Ouvrez la boîte de dialogue de connexion et sélectionnez Avancé pour ouvrir le tiroir Paramètres de connexion avancés .
  2. Développez la section accordéon du tunnel SSH .
  3. Cochez le bouton Activer le tunnel SSH. Les champs de connexion SSH s’affichent.

Champs de tunnel SSH

Libellé du champ Description
hôte Nom d’hôte ou adresse IP du serveur SSH (hôte bastion).
port Numéro de port du serveur SSH (par défaut : 22).
username Nom d’utilisateur à authentifier auprès du serveur SSH.
Authentication Méthode d’authentification SSH. Choisissez mot de passe, fichier d’identité ou agent SSH.

Les champs restants changent en fonction de la méthode d’authentification sélectionnée :

Méthode d’authentification Champs supplémentaires affichés
Mot de passe mot de passe/phrase secrète : entrez le mot de passe SSH. Case à cocher Enregistrer le mot de passe/phrase secrète pour conserver les informations d’identification.
Fichier d’identité Fichier d’identité : entrez le chemin complet de votre clé privée SSH (par exemple). ~/.ssh/id_ed25519 mot de passe/phrase secrète : entrez la phrase secrète de clé si la clé privée est chiffrée. Case à cocher Enregistrer le mot de passe/phrase secrète .
SSH Agent Aucun champ supplémentaire. L'extension délègue l'authentification à l'agent SSH de votre système (ssh-agentsur macOS et Linux, service De l'agent d'authentification OpenSSH sur Windows).

Fonctionnement du tunnel

Lorsque le tunnel SSH est activé, l’extension établit d’abord la connexion SSH, crée un transfert de port local, puis se connecte à PostgreSQL via ce transfert. Pour cette raison :

  • Le nom du serveur dans les champs de connexion principaux doit être l’adresse de base de données comme indiqué à partir de l’hôte SSH, qui est souvent localhost ou une adresse IP privée.
  • Le port doit être le port PostgreSQL sur l’hôte cible (généralement 5432).
  • L’établissement du tunnel SSH ajoute une latence de connexion. Envisagez d’augmenter la valeur de délai d’expiration de connexion dans les options avancées si des délais d’expiration se produisent.

Choisir l’option avancée appropriée

Scénario Fonctionnalité recommandée
Vous disposez d’un URI PostgreSQL existant, d’un extrait d’application ou d’une commande psql Sélectionnez l’onglet Chaîne de connexion pour remplir automatiquement les champs.
Votre organisation requiert des fichiers d’AC personnalisés ou un TLS mutuel Configurez les champs de certificat SSL dans la section SSL du tiroir avancé.
Vous devez utiliser votre magasin de certificats de système d’exploitation pour la vérification du serveur Définissez le mode de certificat racine SSL sur Le mode Système et SSL sur Verify-Full.
La base de données est accessible uniquement par le biais d’une zone de rebond ou d’un hôte bastion Activez le tunnel SSH dans la section Tunnel SSH du tiroir avancé.