Что такое строка подключения PostgreSQL?

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

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

Этот инструмент генерирует корректные строки подключения PostgreSQL из отдельных параметров. Заполните хост, порт, учетные данные, имя базы данных и режим SSL, и он мгновенно создаст три готовых к использованию результата: URL подключения, команду psql и строку libpq key=value.

Примеры

Входные данные:

Поле Значение
Хост db.example.com
Порт 5432
Имя пользователя alice
Пароль s3cr3t
База данных production
Режим SSL require

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

Возможности

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

Объяснение режимов SSL

Режим Описание
disable Без SSL. Соединение не зашифровано.
allow Использует SSL, если сервер его требует; в противном случае подключается без SSL.
prefer Сначала пытается использовать SSL; в случае неудачи переходит на незашифрованное соединение (по умолчанию).
require Требует SSL, но не проверяет сертификат сервера.
verify-ca Требует SSL и проверяет, что сертификат сервера подписан доверенным центром сертификации.
verify-full Требует SSL, проверяет центр сертификации и также проверяет, что имя хоста совпадает с сертификатом.