Что такое строка подключения 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), чтобы вывод был чистым и минимальным
  • Кодирование URL: автоматически кодирует процентами имена пользователей, пароли и имена баз данных, содержащие специальные символы
  • Проверка портов: проверяет, что порт — это число от 1 до 65535

Варианты использования

  • Конфигурация приложения: генерируйте переменную окружения DATABASE_URL для фреймворков типа Django, Rails или любого приложения, использующего строку подключения
  • Быстрый доступ через CLI: создавайте готовую к запуску команду psql для подключения к удаленной базе данных без необходимости запоминать синтаксис URI
  • Отладка подключения: создавайте строку libpq для тестирования подключений с низкоуровневыми драйверами или инструментами, которые не принимают формат URI

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

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