Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden de geavanceerde verbindingsfuncties in de PostgreSQL-extensie voor Visual Studio Code besproken. Gebruik deze opties wanneer u een bestaande verbindingsreeks opnieuw moet gebruiken, certificaatbestanden moet opgeven voor strengere TLS-validatie of verbinding wilt maken via een bastionhost met een SSH-tunnel.
Tip
Zie Verbindingen en identiteit voor standaardverificatie, selectie van SSL-modus, servergroepen en opgeslagen verbindingen.
Invoermodus voor verbindingsreeks gebruiken
Selecteer het tabblad Verbindingsreeks (onder Verbinding maken via:) in het verbindingsdialoogvenster om een bestaande verbindingsdefinitie te plakken. De extensie parseert de tekenreeks automatisch en vult de verbindingsvelden in.
De pagina maakt gebruik van een indeling met twee kolommen:
- Linkerkolom: een tekstgebied met het label Verbindingsreeks waarin u de tekenreeks plakt. Een aanwijzing onder het tekstvak luidt Laat het wachtwoord weg uit de verbindingsreeks.
- Rechterkolom: een deelvenster alleen-lezen verbindingsdetails waarin de geparseerde servernaam, gebruikersnaam en databasenaamwaarden worden weergegeven wanneer ze worden geëxtraheerd.
Parseren vindt live plaats terwijl u typt of plakt. Als de parser een ontbrekende server of gebruikerswaarde detecteert, wordt er een validatiefout boven het tekstgebied weergegeven.
Ondersteunde indelingen
De extensie herkent negen verbindingsreeks-indelingen:
| Format | Voorvoegsel of triggerwaarde | Example |
|---|---|---|
| PostgreSQL URI |
postgres:// of postgresql:// |
postgresql://user:password@host:5432/dbname?sslmode=require |
| JDBC | jdbc:postgresql:// |
jdbc:postgresql://host:5432/dbname |
| Door puntkomma's gescheiden (sleutel=waarde) | Bevat ; |
host=localhost;port=5432;dbname=mydb;user=postgres;password=secret |
psql opdrachtregel |
psql |
psql -h host -p 5432 -U user -d dbname |
| Export van omgevingsvariabelen | export |
export PGHOST=localhostgevolgd door PGPORT, PGUSER, , PGDATABASEPGPASSWORD |
| 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") |
De parser extraheert host, gebruiker, poort, database en wachtwoord uit alle indelingen. Als er al een wachtwoordveld is ingevuld in het dialoogvenster, blijft de bestaande waarde behouden.
Note
Na het parseren kunt u nog steeds de geavanceerde lade openen om instellingen te configureren die verbindingsreeksen niet bevatten, zoals SSH-tunnels of de AI-toegangsmodus per verbinding (Copilot toegangsmodus in Visual Studio Code, AI-toegangsmodus in Cursor).
Certificaatbestanden configureren
Gebruik de instellingen voor het certificaatbestand in het accordeongedeelte SSL van het venster Geavanceerde verbindingsinstellingen wanneer uw omgeving wederzijdse TLS of expliciete validatie van de certificaatautoriteit vereist.
SSL-basiscertificaatmodus
De vervolgkeuzelijst voor de ssl-basiscertificaatmodus bepaalt hoe de extensie het basis-CA-certificaat levert. Kies een van de volgende waarden:
| Mode | Gedrag |
|---|---|
| Geen | Er wordt geen basiscertificaat gebruikt. De extensie controleert de servercertificaatketen niet. |
| Systeem | De extensie maakt gebruik van het vertrouwde certificaatarchief van uw besturingssysteem. Voor deze modus is verificatie van de volledige SSL-modus vereist; de extensie dwingt dit automatisch af. |
| Aangepast bestand | Er wordt een tekstveld met het label SSL-basiscertificaatbestand weergegeven. Voer het pad in naar een met PEM gecodeerd basis-CA-certificaatbestand. |
Important
Wanneer u Systeem selecteert, wordt de SSL-modus automatisch ingesteld op Verifiëren-volledig . Als u de SSL-modus wijzigt in een andere waarde terwijl Het systeem actief is, wordt er een validatiefout weergegeven: 'Verify-Full SSL-modus is vereist bij het gebruik van het certificaatarchief van het systeem'.
Clientcertificaatvelden
Configureer wederzijdse TLS door paden op te geven in deze velden in de sectie SSL :
| Veldlabel | Property | Beschrijving |
|---|---|---|
| Bestandsnaam van SSL-certificaat | sslcert |
Pad naar het clientcertificaatbestand. |
| Bestandsnaam van SSL-sleutel | sslkey |
Pad naar het persoonlijke sleutelbestand van de client. |
| Bestandsnaam van SSL-basiscertificaat | sslrootcert |
Pad naar het root-CA-certificaat (alleen zichtbaar wanneer de modus voor het SSL-hoofdcertificaat is ingesteld op Aangepast bestand). |
| SSL CRL-bestandsnaam | sslcrl |
Pad naar een certificaatintrekkingslijstbestand. |
| SSL-compressie gebruiken | sslcompression |
Hiermee schakelt u compressie in voor de SSL-verbinding. |
Tip
Voor de modi Verify-CA en Verify-Full configureert u altijd het basiscertificaat, zodat de extensie het servercertificaat kan valideren. Gebruik de systeemmodus om te vertrouwen op het vertrouwde CA-archief van uw besturingssysteem zonder een bestandspad op te geven.
Verbinding maken via een SSH-tunnel
Met SSH-tunneling wordt de PostgreSQL-verbinding gerouteerd via een versleuteld SSH-kanaal. Gebruik deze methode wanneer de database niet rechtstreeks bereikbaar is vanaf uw werkstation. Wanneer de server zich bijvoorbeeld in een privénetwerk achter een bastionhost bevindt.
De tunnel inschakelen
- Open het verbindingsdialoogvenster en selecteer Geavanceerd om de lade Geavanceerde verbindingsinstellingen te openen.
- Vouw de harmonikasectie SSH Tunnel uit.
- Schakel de wisselknop SSH-tunneling inschakelen in. De SSH-verbindingsvelden worden weergegeven.
SSH-tunnelvelden
| Veldlabel | Beschrijving |
|---|---|
| gastheer | Hostnaam of IP-adres van de SSH-server (bastionhost). |
| poort | Poortnummer van SSH-server (standaard: 22). |
| gebruikersnaam | Gebruikersnaam voor verificatie met de SSH-server. |
| Authentication | SSH-verificatiemethode. Kies wachtwoord, identiteitsbestand of SSH-agent. |
De resterende velden worden gewijzigd, afhankelijk van de geselecteerde verificatiemethode:
| Verificatiemethode | Extra velden weergegeven |
|---|---|
| Wachtwoord | wachtwoord/wachtwoordzin: voer het SSH-wachtwoord in. Selecteer het selectievakje Wachtwoord/wachtwoordzin opslaan om de aanmeldgegevens op te slaan. |
| Identiteitsbestand |
Identiteitsbestand: voer het volledige pad naar uw persoonlijke SSH-sleutel in (bijvoorbeeld ~/.ssh/id_ed25519).
wachtwoord/wachtwoordzin: voer de wachtwoordzin voor de sleutel in als de persoonlijke sleutel is versleuteld.
Selectievakje Wachtwoord / wachtwoordzin opslaan. |
| SSH-agent | Geen extra velden. De extensie delegeert verificatie aan de SSH-agent van uw systeem (ssh-agentin macOS en Linux, OpenSSH Authentication Agent-service op Windows). |
Hoe de tunnel werkt
Wanneer de SSH-tunnel is ingeschakeld, brengt de extensie eerst de SSH-verbinding tot stand, maakt vervolgens een lokale poortdoorschakeling en maakt daarna via die doorschakeling verbinding met PostgreSQL. Daarom:
- De servernaam in de hoofdverbindingsvelden moet het databaseadres zijn , zoals te zien is vanaf de SSH-host, wat vaak
localhostof een privé-IP-adres is. - De poort moet de PostgreSQL-poort op de doelhost zijn (meestal
5432). - SSH-tunnelinstelling voegt verbindingslatentie toe. Overweeg om de time-outwaarde voor verbinding in de geavanceerde opties te verhogen als er time-outs optreden.
De juiste geavanceerde optie kiezen
| Scenario | Aanbevolen functie |
|---|---|
U hebt een bestaande PostgreSQL-URI, app-fragment of psql opdracht |
Selecteer het tabblad Verbindingsreeks om de velden automatisch te vullen. |
| Uw organisatie vereist aangepaste CA-bestanden of wederzijdse TLS | Configureer de SSL-certificaatvelden in de SSL-sectie van de geavanceerde lade. |
| U moet het certificaatarchief van het besturingssysteem gebruiken voor serververificatie | Stel de SSL-basiscertificaatmodus in op systeem - en SSL-modus om volledig te verifiëren. |
| De database is alleen bereikbaar via een jumpbox of bastionhost | Schakel de SSH-tunnel in de sectie SSH-tunnel van de geavanceerde lade in. |