Какво е PostgreSQL connection string?

PostgreSQL connection string е форматиран текст, който събира всички необходими информации за свързване с база данни — хостнейм, порт, удостоверения, име на база данни и SSL настройки — в една стойност. Приложенията, ORM-ите и инструментите от командния ред използват connection strings за установяване на сесии с база данни без да е необходимо всеки параметър да се конфигурира отделно. Има два често срещани формата: URI форматът (postgresql://user:password@host:port/dbname) и libpq key=value форматът (host=localhost port=5432 dbname=mydb). И двата формата се поддържат от практически всички PostgreSQL клиентски библиотеки.

Описание на инструмента

Този инструмент генерира валидни PostgreSQL connection strings от отделни параметри. Попълнете хостнейма, порта, удостоверенията, име на база данни и SSL режим, и той незабавно произвежда три готови за използване резултата: connection URL, psql команда и libpq key=value низ.

Примери

Вход:

Поле Стойност
Хост db.example.com
Порт 5432
Потребител alice
Парола s3cr3t
База данни production
SSL режим require

Connection URL:

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

psql команда:

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

libpq key=value низ:

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

Функции

  • Три формата на резултата: Генерира connection URL, psql shell команда и libpq key=value низ едновременно
  • Избор на SSL режим: Поддържа всичките шест PostgreSQL SSL режима — disable, allow, prefer, require, verify-ca и verify-full
  • Интелигентни стойности по подразбиране: Пропуска стойностите по подразбиране (порт 5432, sslmode=prefer), за да запази резултата чист и минимален

SSL режимите обяснени

Режим Описание
disable Без SSL. Връзката е некодирана.
allow Използва SSL, ако сървърът го изисква; в противен случай се свързва без SSL.
prefer Първо опитва SSL; се връща към некодирана връзка (по подразбиране).
require Изисква SSL, но не проверява сертификата на сървъра.
verify-ca Изисква SSL и проверява, че сертификатът на сървъра е подписан от доверен CA.
verify-full Изисква SSL, проверява CA и също проверява, че хостнейма съответства на сертификата.