Перейти к содержанию

Коннектор источника для PostgreSQL

Это руководство описывает, как настроить digna для подключения к PostgreSQL через ODBC со строкой подключения без DSN (DSN-less).

Сторона digna одинакова для всех технологий — где создаются подключения, как шифруются значения свойств, как проверяется подключение и что означают режимы профилирования. Она описана в разделе Обзор подключений к базам данных. Эта страница описывает то, что специфично для PostgreSQL.


1. Установка драйвера ODBC

Установите драйвер ODBC для PostgreSQL (psqlODBC) на машину, где работает бэкенд digna, следуя официальному руководству по установке от производителя.

Драйвер регистрируется под именем, которое зависит от платформы и пакета, — обычно PostgreSQL Unicode(x64) в Windows и PostgreSQL ODBC Driver(UNICODE) в Linux. Узнайте точное имя на вашем хосте, как описано в разделе Установка драйвера ODBC на хосте digna, и используйте это имя для свойства DRIVER ниже.


2. Свойства ODBC

Пример, а не спецификация

Набор ниже — одна комбинация, которая заведомо работает. Свойства принадлежат драйверу psqlODBC, поэтому их имена, значения по умолчанию и допустимые значения различаются между версиями драйвера и платформами, а требования вашего сервера — в частности, к SSL — тоже могут отличаться. Используйте этот набор как отправную точку и сверяйтесь с документацией установленной версии драйвера.

Добавьте следующие свойства на экране Add DB Connection:

Ключ Пример значения Примечания
DRIVER PostgreSQL ODBC Driver(UNICODE) Должно совпадать с именем драйвера, зарегистрированным на хосте digna
SERVER db.example.com Имя сервера или IP-адрес
PORT 5432
DATABASE digna_source_db База данных, содержащая исходные схемы. Это единственная база данных, которую может профилировать это подключение
UID digna_source_user Пользователь базы данных
PWD <password> Отметьте Encrypted
SSLMode prefer disable, allow, prefer, require, verify-ca или verify-full — значение должен принимать сервер

Итоговая строка подключения выглядит так:

DRIVER=PostgreSQL ODBC Driver(UNICODE);SERVER=db.example.com;PORT=5432;DATABASE=digna_source_db;UID=digna_source_user;PWD=<password>;SSLMode=prefer

Любой другой параметр psqlODBC можно добавить как дополнительное свойство — например, ReadOnly=1 для сессии только на чтение или ConnSettings, чтобы выполнять операторы SET при подключении.


3. Настройка digna

На экране Add DB Connection укажите следующее:

Name:               Name of the connection. This is used for referencing the connection in other screens.
Technology:         Postgres
Profiling Mode:     Standard, Permanent or Session
Work Schema:        Schema for the work tables of "Permanent" profiling, e.g. "digna_work"

4. Особенности PostgreSQL

  • SSLMode должен соответствовать серверу. Сервер, настроенный с hostssl, отклоняет SSLMode=disable, а для verify-ca или verify-full дополнительно нужно, чтобы корневой сертификат был доступен драйверу на хосте digna. Если при проверке драйвера вам пришлось выбрать определённый режим, используйте здесь тот же.
  • Одно подключение видит одну базу данных. digna предлагает схемы базы данных, указанной в DATABASE, потому что PostgreSQL сообщает в качестве каталога только текущую базу данных. Для исходных таблиц в другой базе данных нужно отдельное подключение.
  • Режимы профилирования. Permanent создаёт рабочие таблицы в Work Schema, поэтому пользователю нужно право CREATE на эту схему. Session использует CREATE TEMPORARY TABLE и не затрагивает Work Schema. Для Standard нужен только доступ на чтение.

5. Проверка драйвера (необязательно)

Для подключения без DSN настраивать источник данных ODBC не требуется, но собственный диалог драйвера — удобный способ убедиться, что драйвер работает, а сервер принимает ваши учётные данные и режим SSL, прежде чем вводить их в digna.

Шаг 1

Шаг 1

Шаг 2 – проверка подключения

Нажмите кнопку Test Connection.

Шаг 2

Введённые здесь значения — это именно те значения, которые принимают свойства из раздела 2.