Wat is een PostgreSQL-verbindingsreeks?

Een PostgreSQL-verbindingsreeks is een geformatteerde tekst die alle informatie bundelt die nodig is om verbinding te maken met een database — hostnaam, poort, inloggegevens, databasenaam en SSL-instellingen — in één enkele waarde. Applicaties, ORM's en opdrachtregelprogramma's gebruiken verbindingsreeksen om databasesessies tot stand te brengen zonder dat elke parameter afzonderlijk hoeft te worden geconfigureerd. Er zijn twee veelgebruikte formaten: het URI-formaat (postgresql://user:password@host:port/dbname) en het libpq key=value-formaat (host=localhost port=5432 dbname=mydb). Beide formaten worden ondersteund in vrijwel alle PostgreSQL-clientbibliotheken.

Hulpprogrammabeschrijving

Dit hulpprogramma genereert geldige PostgreSQL-verbindingsreeksen op basis van afzonderlijke parameters. Vul de host, poort, inloggegevens, databasenaam en SSL-modus in, en het programma produceert onmiddellijk drie kant-en-klare uitvoerwaarden: een verbindings-URL, een psql-opdracht en een libpq key=value-reeks.

Voorbeelden

Invoer:

Veld Waarde
Host db.example.com
Poort 5432
Gebruikersnaam alice
Wachtwoord s3cr3t
Database production
SSL-modus require

Verbindings-URL:

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

psql-opdracht:

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

libpq key=value-reeks:

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

Functies

  • Drie uitvoerformaten: Genereert tegelijkertijd een verbindings-URL, psql-shell-opdracht en libpq key=value-reeks
  • SSL-moduskiezer: Ondersteunt alle zes PostgreSQL SSL-modi — disable, allow, prefer, require, verify-ca en verify-full
  • Slimme standaardwaarden: Laat standaardwaarden weg (poort 5432, sslmode=prefer) om de uitvoer schoon en minimaal te houden
  • URL-codering: Codeert automatisch gebruikersnamen, wachtwoorden en databasenamen met speciale tekens met procent
  • Poortvalidatie: Valideert dat de poort een getal tussen 1 en 65535 is

Gebruiksscenario's

  • Toepassingsconfiguratie: Genereer een DATABASE_URL-omgevingsvariabele voor frameworks zoals Django, Rails of elke app die een verbindingsreeks gebruikt
  • Snelle CLI-toegang: Produceer een kant-en-klare psql-opdracht om verbinding te maken met een externe database zonder de URI-syntaxis uit het hoofd te hoeven leren
  • Verbindingsdebugging: Bouw een libpq-reeks om verbindingen te testen met laagniveaustuurprogramma's of hulpprogramma's die geen URI-formaat accepteren

SSL-modi uitgelegd

Modus Beschrijving
disable Geen SSL. Verbinding is niet versleuteld.
allow Gebruikt SSL als de server dit vereist; anders verbinding zonder SSL.
prefer Probeert eerst SSL; valt terug op onversleuteld (standaard).
require Vereist SSL maar verifieert het servercertificaat niet.
verify-ca Vereist SSL en verifieert dat het servercertificaat is ondertekend door een vertrouwde CA.
verify-full Vereist SSL, verifieert de CA en controleert ook of de hostnaam overeenkomt met het certificaat.