Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra le funzionalità di connessione avanzate nell'estensione PostgreSQL per Visual Studio Code. Usare queste opzioni quando è necessario riutilizzare un stringa di connessione esistente, specificare i file di certificato per la convalida TLS più restrittiva o connettersi tramite un bastion host con un tunnel SSH.
Tip
Per l'autenticazione standard, la selezione della modalità SSL, i gruppi di server e le connessioni salvate, vedere Connessioni e identità.
Usa la modalità di immissione della stringa di connessione
Selezionare la scheda Stringa di connessione (in Connetti tramite:) nella finestra di dialogo di connessione per incollare una definizione di connessione esistente. L'estensione analizza automaticamente la stringa e popola i campi di connessione.
La pagina usa un layout a due colonne:
- Colonna sinistra: un'area di testo con etichetta Stringa di connessione in cui si incolla la stringa. Un suggerimento sotto l'area di testo legge Si prega di omettere la password dal stringa di connessione.
- Colonna destra: pannello Dettagli connessione di sola lettura che mostra i valori nome server analizzato, Nome utente e Nome database durante l'estrazione.
L'analisi sintattica avviene in tempo reale mentre digiti o incolli. Se il parser rileva un server o un valore utente mancante, viene visualizzato un errore di convalida sopra l'area di testo.
Formati supportati
L'estensione riconosce nove formati stringa di connessione:
| Format | Prefisso o attivatore | Esempio |
|---|---|---|
| PostgreSQL URI |
postgres:// oppure postgresql:// |
postgresql://user:password@host:5432/dbname?sslmode=require |
| JDBC | jdbc:postgresql:// |
jdbc:postgresql://host:5432/dbname |
| Punto e virgola separati (key=value) | Contiene ; |
host=localhost;port=5432;dbname=mydb;user=postgres;password=secret |
psql riga di comando |
psql |
psql -h host -p 5432 -U user -d dbname |
| Esportazioni di variabili di ambiente | export |
export PGHOST=localhost seguito da 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") |
Il parser estrae host, utente, porta, database e password da tutti i formati. Se un campo password è già compilato nella finestra di dialogo, il parser mantiene il valore esistente.
Note
Dopo il parsing, puoi comunque aprire il riquadro Avanzate per configurare impostazioni che le stringhe di connessione non includono, come i tunnel SSH o la modalità di accesso all’IA per singola connessione (modalità di accesso a Copilot in Visual Studio Code, modalità di accesso all’IA in Cursor).
Configurare i file di certificato
Usa le impostazioni del file del certificato nella sezione a fisarmonica SSL del riquadro Impostazioni di connessione avanzate quando il tuo ambiente richiede TLS reciproco o la convalida esplicita dell'autorità di certificazione.
Modalità del certificato radice SSL
L'elenco a discesa Modalità del certificato radice SSL determina il modo in cui l'estensione fornisce il certificato della CA radice. Scegliere uno dei seguenti valori:
| Modalità | Behavior |
|---|---|
| Nessuno | Non viene utilizzato alcun certificato radice. L'estensione non verifica la catena di certificati del server. |
| Sistema | L'estensione utilizza l'archivio dei certificati attendibile del sistema operativo. Questa modalità richiede la modalità Verify-Full SSL; l'estensione applica automaticamente questa impostazione. |
| File personalizzato | Viene visualizzato un campo di testo con etichetta nome file certificato radice SSL . Immettere il percorso di un file di certificato CA radice con codifica PEM. |
Importante
Quando si seleziona Sistema, la modalità SSL è impostata su Verify-Full automaticamente. Se si imposta la modalità SSL su un altro valore mentre System è attivo, viene visualizzato un errore di convalida: "Verify-Full modalità SSL è necessaria quando si usa l'archivio certificati di sistema".
Campi del certificato client
Configurare TLS reciproco specificando i percorsi in questi campi all'interno della sezione SSL :
| Etichetta del campo | Property | Descrizione |
|---|---|---|
| Nome file certificato SSL | sslcert |
Percorso del file del certificato client. |
| Nome del file della chiave SSL | sslkey |
Percorso del file di chiave privata del client. |
| Nome del file del certificato radice SSL | sslrootcert |
Percorso del certificato CA radice (visibile solo quando la modalità certificato radice SSL è File personalizzato). |
| Nome del file CRL SSL | sslcrl |
Percorso del file della lista di revoca dei certificati. |
| Usare la compressione SSL | sslcompression |
Abilita la compressione sulla connessione SSL. |
Tip
Per le modalità Verify-CA e Verify-Full , configurare sempre il certificato radice in modo che l'estensione possa convalidare il certificato del server. Usare la modalità sistema per fare affidamento sull'archivio CA attendibile del sistema operativo senza specificare un percorso di file.
Connettersi tramite un tunnel SSH
Il tunneling SSH instrada la connessione PostgreSQL tramite un canale SSH crittografato. Usare questo approccio quando il database non è raggiungibile direttamente dalla workstation. Ad esempio, quando il server si trova in una rete privata dietro un bastion host.
Abilitare il tunnel
- Aprire la finestra di dialogo di connessione e selezionare Avanzate per aprire il pannello Impostazioni di connessione avanzate .
- Espandi la sezione SSH Tunnel a fisarmonica.
- Selezionare l'interruttore Enable SSH Tunneling (Abilita tunneling SSH ). Vengono visualizzati i campi di connessione SSH.
Campi del tunnel SSH
| Etichetta del campo | Descrizione |
|---|---|
| host | Nome host o indirizzo IP del server SSH (bastion host). |
| porto | Numero di porta del server SSH (impostazione predefinita: 22). |
| username | Nome utente per l'autenticazione con il server SSH. |
| Autenticazione | Metodo di autenticazione SSH. Scegliere Password, File di identità o Agente SSH. |
I campi rimanenti cambiano a seconda del metodo di autenticazione selezionato:
| Metodo di autenticazione | Campi aggiuntivi visualizzati |
|---|---|
| Password | password/passphrase: immettere la password SSH. Salva la casella di controllo Password/Passphrase per rendere persistenti le credenziali. |
| File di identità |
File di identità: immettere il percorso completo della chiave privata SSH , ad esempio ~/.ssh/id_ed25519.
password/passphrase: immettere la passphrase della chiave se la chiave privata è crittografata. Casella di controllo Salva password/Passphrase. |
| Agente SSH | Nessun campo aggiuntivo. L'estensione delega l'autenticazione all'agente SSH del sistema (ssh-agent in macOS e Linux, il servizio OpenSSH Authentication Agent in Windows). |
Funzionamento del tunnel
Quando il tunnel SSH è abilitato, l'estensione stabilisce prima la connessione SSH, configura un inoltro di porta locale e quindi si connette a PostgreSQL attraverso tale inoltro. Per questo motivo:
- Il nome del server nei campi di connessione principale deve essere l'indirizzo del database, come illustrato dall'host SSH, che è spesso
localhosto un INDIRIZZO IP privato. - La porta deve essere la porta PostgreSQL sull'host di destinazione (in genere
5432). - L'istituzione del tunnel SSH aggiunge la latenza di connessione. Prendere in considerazione l'aumento del valore di timeout di connessione nelle opzioni avanzate se si verificano timeout.
Scegliere l'opzione avanzata appropriata
| Scenario | Funzionalità consigliata |
|---|---|
Hai un URI PostgreSQL esistente, uno snippet dell'app o un psql comando esistente |
Selezionare la scheda Stringa di connessione per popolare automaticamente i campi. |
| L'organizzazione richiede file ca personalizzati o TLS reciproco | Configurare i campi certificato SSL nella sezione SSL del pannello avanzato. |
| È necessario usare l'archivio certificati del sistema operativo per la verifica del server | Impostare la modalità del certificato radice SSL su Sistema e la modalità SSL su Verify-Full. |
| Il database è raggiungibile solo tramite un jump box o un bastion host | Abilitare il tunnel SSH nella sezione Tunnel SSH del pannello avanzato. |