Vad är en PostgreSQL-anslutningssträng?

En PostgreSQL-anslutningssträng är en formaterad textbit som samlar all information som behövs för att ansluta till en databas — värdnamn, port, autentiseringsuppgifter, databasnamn och SSL-inställningar — i ett enda värde. Applikationer, ORM:er och kommandoradsverktyg använder anslutningssträngar för att etablera databassessioner utan att varje parameter behöver konfigureras separat. Det finns två vanliga format: URI-formatet (postgresql://user:password@host:port/dbname) och libpq-formatet för nyckel=värde (host=localhost port=5432 dbname=mydb). Båda formaten stöds av praktiskt taget alla PostgreSQL-klientbibliotek.

Verktygets beskrivning

Det här verktyget genererar giltiga PostgreSQL-anslutningssträngar från enskilda parametrar. Fyll i värdnamn, port, autentiseringsuppgifter, databasnamn och SSL-läge, och det producerar omedelbar tre färdiga utdata: en anslutnings-URL, ett psql-kommando och en libpq-sträng för nyckel=värde.

Exempel

Inmatning:

Fält Värde
Värdnamn db.example.com
Port 5432
Användarnamn alice
Lösenord s3cr3t
Databas production
SSL-läge require

Anslutnings-URL:

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

psql-kommando:

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

libpq-sträng för nyckel=värde:

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

Funktioner

  • Tre utdataformat: Genererar en anslutnings-URL, psql-skalkommando och libpq-sträng för nyckel=värde samtidigt
  • SSL-lägesväljare: Stöder alla sex PostgreSQL SSL-lägen — disable, allow, prefer, require, verify-ca och verify-full
  • Smarta standardvärden: Utelämnar standardvärden (port 5432, sslmode=prefer) för att hålla utdata ren och minimal
  • URL-kodning: Kodar automatiskt användarnamn, lösenord och databasnamn som innehåller specialtecken med procent
  • Portvalidering: Validerar att porten är ett tal mellan 1 och 65535

Användningsfall

  • Applikationskonfiguration: Generera en DATABASE_URL-miljövariabel för ramverk som Django, Rails eller vilken app som helst som använder en anslutningssträng
  • Snabb CLI-åtkomst: Producera ett färdigt psql-kommando för att ansluta till en fjärrdatabas utan att behöva memorera URI-syntax
  • Anslutningsfelsökning: Bygg en libpq-sträng för att testa anslutningar med lågnivådrivrutiner eller verktyg som inte accepterar URI-format

SSL-lägen förklarade

Läge Beskrivning
disable Ingen SSL. Anslutningen är okrypterad.
allow Använder SSL om servern kräver det; annars ansluts utan SSL.
prefer Försöker SSL först; återgår till okrypterad (standard).
require Kräver SSL men verifierar inte servercertifikatet.
verify-ca Kräver SSL och verifierar att servercertifikatet är signerat av en betrodd CA.
verify-full Kräver SSL, verifierar CA:n och kontrollerar också att värdnamnet matchar certifikatet.