31.17. Файл службы подключения#

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

31.17. Файл службы подключения #

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

Имена служб могут быть определены в файле службы для каждого пользователя или в системном файле. Если одно и то же имя службы существует и в пользовательском, и в системном файле, предпочтение отдается пользовательскому файлу. По умолчанию, файл службы для каждого пользователя называется ~/.pg_service.conf. В Microsoft Windows он называется %APPDATA%\postgresql\.pg_service.conf (где %APPDATA% относится к подкаталогу Application Data в профиле пользователя). Другое имя файла можно указать, установив переменную среды PGSERVICEFILE. Системный файл называется pg_service.conf. По умолчанию он ищется в каталоге etc установки Tantor BE (используйте pg_config --sysconfdir, чтобы точно определить этот каталог). Другой каталог, но не другое имя файла, можно указать, установив переменную среды PGSYSCONFDIR.

Или файл службы использует формат INI-файла, где имя раздела - это имя службы, а параметры - это параметры подключения; см. Раздел 31.1.2 для списка. Например:

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

Пример файла предоставляется в установке Tantor BE по пути share/pg_service.conf.sample.

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