Co to jest ciąg połączenia PostgreSQL?

Ciąg połączenia PostgreSQL to sformatowany tekst, który łączy wszystkie informacje potrzebne do połączenia się z bazą danych — nazwę hosta, port, poświadczenia, nazwę bazy danych i ustawienia SSL — w jedną wartość. Aplikacje, ORM-y i narzędzia wiersza poleceń używają ciągów połączenia do nawiązywania sesji bazy danych bez konieczności oddzielnego konfigurowania każdego parametru. Istnieją dwa popularne formaty: format URI (postgresql://user:password@host:port/dbname) i format libpq key=value (host=localhost port=5432 dbname=mydb). Oba formaty są obsługiwane przez praktycznie wszystkie biblioteki klienckie PostgreSQL.

Opis narzędzia

To narzędzie generuje prawidłowe ciągi połączenia PostgreSQL z poszczególnych parametrów. Wypełnij host, port, poświadczenia, nazwę bazy danych i tryb SSL, a narzędzie natychmiast wygeneruje trzy gotowe do użycia wyjścia: adres URL połączenia, polecenie psql i ciąg libpq key=value.

Przykłady

Wejście:

Pole Wartość
Host db.example.com
Port 5432
Nazwa użytkownika alice
Hasło s3cr3t
Baza danych production
Tryb SSL require

Adres URL połączenia:

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

Polecenie psql:

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

Ciąg libpq key=value:

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

Funkcje

  • Trzy formaty wyjścia: Generuje adres URL połączenia, polecenie psql shell i ciąg libpq key=value jednocześnie
  • Selektor trybu SSL: Obsługuje wszystkie sześć trybów SSL PostgreSQL — disable, allow, prefer, require, verify-ca i verify-full
  • Inteligentne wartości domyślne: Pomija wartości domyślne (port 5432, sslmode=prefer), aby wyjście było czyste i minimalne
  • Kodowanie URL: Automatycznie koduje procent nazwy użytkowników, hasła i nazwy baz danych zawierające znaki specjalne
  • Walidacja portu: Sprawdza, czy port jest liczbą z zakresu od 1 do 65535

Przypadki użycia

  • Konfiguracja aplikacji: Generuj zmienną środowiskową DATABASE_URL dla frameworków takich jak Django, Rails lub dowolnej aplikacji używającej ciągu połączenia
  • Szybki dostęp CLI: Utwórz gotowe do uruchomienia polecenie psql do połączenia się ze zdalną bazą danych bez zapamiętywania składni URI
  • Debugowanie połączenia: Utwórz ciąg libpq do testowania połączeń z niskopoziomowymi sterownikami lub narzędziami, które nie akceptują formatu URI

Wyjaśnienie trybów SSL

Tryb Opis
disable Brak SSL. Połączenie jest nieszyfrowane.
allow Używa SSL, jeśli serwer tego wymaga; w przeciwnym razie łączy się bez SSL.
prefer Najpierw próbuje SSL; powraca do nieszyfrowanego (domyślnie).
require Wymaga SSL, ale nie weryfikuje certyfikatu serwera.
verify-ca Wymaga SSL i weryfikuje, że certyfikat serwera jest podpisany przez zaufany urząd certyfikacji.
verify-full Wymaga SSL, weryfikuje urząd certyfikacji i sprawdza, czy nazwa hosta jest zgodna z certyfikatem.