Che cos'è una stringa di connessione PostgreSQL?

Una stringa di connessione PostgreSQL è un pezzo di testo formattato che raggruppa tutte le informazioni necessarie per connettersi a un database — hostname, porta, credenziali, nome del database e impostazioni SSL — in un unico valore. Le applicazioni, gli ORM e gli strumenti da riga di comando utilizzano le stringhe di connessione per stabilire sessioni di database senza richiedere che ogni parametro sia configurato separatamente. Esistono due formati comuni: il formato URI (postgresql://user:password@host:port/dbname) e il formato libpq key=value (host=localhost port=5432 dbname=mydb). Entrambi i formati sono supportati da praticamente tutte le librerie client PostgreSQL.

Descrizione dello strumento

Questo strumento genera stringhe di connessione PostgreSQL valide da parametri individuali. Compila l'host, la porta, le credenziali, il nome del database e la modalità SSL, e genera istantaneamente tre output pronti all'uso: un URL di connessione, un comando psql e una stringa libpq key=value.

Esempi

Input:

Campo Valore
Host db.example.com
Porta 5432
Nome utente alice
Password s3cr3t
Database production
Modalità SSL require

URL di connessione:

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

Comando psql:

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

Stringa libpq key=value:

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

Funzionalità

  • Tre formati di output: Genera contemporaneamente un URL di connessione, un comando shell psql e una stringa libpq key=value
  • Selettore modalità SSL: Supporta tutte e sei le modalità SSL di PostgreSQL — disable, allow, prefer, require, verify-ca e verify-full
  • Impostazioni predefinite intelligenti: Omette i valori predefiniti (porta 5432, sslmode=prefer) per mantenere l'output pulito e minimalista
  • Codifica URL: Codifica automaticamente in percentuale i nomi utente, le password e i nomi di database contenenti caratteri speciali
  • Validazione della porta: Convalida che la porta sia un numero compreso tra 1 e 65535

Casi d'uso

  • Configurazione dell'applicazione: Genera una variabile d'ambiente DATABASE_URL per framework come Django, Rails o qualsiasi app che utilizzi una stringa di connessione
  • Accesso rapido da CLI: Produce un comando psql pronto all'esecuzione per connettersi a un database remoto senza memorizzare la sintassi URI
  • Debug della connessione: Crea una stringa libpq per testare le connessioni con driver di basso livello o strumenti che non accettano il formato URI

Modalità SSL spiegate

Modalità Descrizione
disable Nessun SSL. La connessione non è crittografata.
allow Utilizza SSL se il server lo richiede; altrimenti si connette senza SSL.
prefer Prova SSL per primo; ritorna a non crittografato (predefinito).
require Richiede SSL ma non verifica il certificato del server.
verify-ca Richiede SSL e verifica che il certificato del server sia firmato da un'autorità di certificazione attendibile.
verify-full Richiede SSL, verifica l'autorità di certificazione e controlla anche che il nome host corrisponda al certificato.