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
и другие параметры, установленные переменными среды или встроенными значениями по умолчанию.