Какво е 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), за да запази резултата чист и минимален
  • URL кодиране: Автоматично percent-кодира потребителски имена, пароли и имена на бази данни, съдържащи специални символи
  • Валидиране на порта: Проверява, че портът е число между 1 и 65535

Случаи на употреба

  • Конфигурация на приложение: Генерирайте DATABASE_URL променлива на окръжението за фреймворки като Django, Rails или всяко приложение, използващо connection string
  • Бърз достъп до CLI: Произведете готова за изпълнение psql команда за свързване с отдалечена база данни без да е необходимо да запомняте URI синтаксис
  • Отстраняване на грешки при свързване: Изградете libpq низ за тестване на връзки с драйвери на ниско ниво или инструменти, които не приемат URI формат

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

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