Файл подключений служб

Файл подключений служб позволяет связать параметры подключений libpq с одним именем службы. Затем это имя службы можно задать в строке подключения libpq, и будут использоваться все связанные с ним значения параметров. Это позволяет модифицировать параметры подключений без необходимости перекомпилировать приложение, использующее libpq. Также имя службы можно задать в переменной среды PGSERVICE.

Имена служб можно определить либо в файле служб каждого пользователя, либо в общесистемном файле. Если одно и то же имя службы существует как в пользовательском, так и в системном файле, пользовательский файл имеет приоритет. По умолчанию файл служб пользователя называется ~/.pg_service.conf. Установив переменную среды PGSERVICEFILE, можно задать другое имя файла. Общесистемный файл называется qhb_service.conf. По умолчанию он ищется в каталоге etc установки QHB (используйте pg_config --sysconfdir чтобы точно определить этот каталог). Установив переменную среды PGSYSCONFDIR, можно задать другой каталог, но не другое имя файла.

Во всех файлах служб используется формат «INI-файлов», где имя раздела является именем службы, а параметры — параметрами подключения; их список см. в подразделе Ключевые слова-параметры. Например:

# comment
[mydb]
host=somehost
port=5433
user=admin

Пример такого файла имеется в установке QHB в share/pg_service.conf.sample.

Параметры подключения, полученные из файла служб, объединяются с параметрами, полученными из других источников. Значение в файле служб переопределяет соответствующую переменную среды и, в свою очередь, может быть переопределено значением, заданным непосредственно в строке подключения. Например, используя вышеуказанный файл служб, строка подключения service=mydb port=5434 будет использовать хост somehost, порт 5434, пользователя admin и другие параметры, установленные переменными среды или встроенными значениями по умолчанию.