36.15. Переменные окружения
Воспользовавшись следующими переменными окружения, можно задать значения параметров соединения по умолчанию, которые будут использоваться функциями PQconnectdb
, PQsetdbLogin
и PQsetdb
, если никакое значение не будет задано вызывающим кодом. В частности, используя их, можно обойтись без жёсткого задания параметров соединения в простых клиентских приложениях.
PGHOST
действует так же, как параметр соединения host.PGHOSTADDR
действует так же, как параметр соединения hostaddr. Эту переменную можно задать вместо или вместе сPGHOST
для предотвращения поиска адреса в DNS.PGPORT
действует так же, как параметр соединения port.PGDATABASE
действует так же, как параметр соединения dbname.PGUSER
действует так же, как параметр соединения user.PGPASSWORD
действует так же, как параметр соединения password. Использовать эту переменную окружения не рекомендуется по соображениям безопасности, так как в некоторых операционных системах непривилегированные пользователи могут видеть переменные окружения процессов в выводе ps; вместо этого лучше использовать файл паролей (см. Раздел 36.16).PGPASSFILE
действует так же, как параметр соединения passfile.PGCHANNELBINDING
действует так же, как параметр соединения channel_binding.PGSERVICE
действует так же, как параметр соединения service.PGSERVICEFILE
задаёт имя личного файла пользователя с параметрами подключения к службам (см. Раздел 36.17). По умолчанию применяется имя файла~/.pg_service.conf
(или%APPDATA%\postgresql\.pg_service.conf
в Microsoft Windows).PGOPTIONS
действует так же, как параметр соединения options.PGAPPNAME
действует так же, как параметр соединения application_name.PGSSLMODE
действует так же, как параметр соединения sslmode.PGREQUIRESSL
действует так же, как параметр соединения requiressl. Эта переменная окружения утратила актуальность с появлением переменнойPGSSLMODE
; если установить обе переменные, значение данной не возымеет эффекта.PGSSLCOMPRESSION
действует так же, как параметр соединения sslcompression.PGSSLCERT
действует так же, как параметр соединения sslcert.PGSSLKEY
действует так же, как параметр соединения sslkey.PGSSLROOTCERT
действует так же, как параметр соединения sslrootcert.PGSSLCRL
действует так же, как параметр соединения sslcrl.PGSSLCRLDIR
действует так же, как параметр соединения sslcrldir.PGSSLSNI
действует так же, как параметр соединения sslsni.PGREQUIREPEER
действует так же, как параметр соединения requirepeer.PGSSLMINPROTOCOLVERSION
действует так же, как параметр соединения ssl_min_protocol_version.PGSSLMAXPROTOCOLVERSION
действует так же, как параметр соединения ssl_max_protocol_version.PGGSSENCMODE
действует так же, как параметр соединения gssencmode.PGKRBSRVNAME
действует так же, как параметр соединения krbsrvname.PGGSSLIB
действует так же, как параметр соединения gsslib.PGCONNECT_TIMEOUT
действует так же, как параметр соединения connect_timeout.PGCLIENTENCODING
действует так же, как параметр соединения client_encoding.PGTARGETSESSIONATTRS
действует так же, как параметр соединения target_session_attrs.
Следующие переменные окружения позволяют задать поведение по умолчанию для каждого отдельного сеанса Postgres Pro. (См. также описание команд ALTER ROLE и ALTER DATABASE, позволяющих установить поведение по умолчанию для отдельного пользователя или отдельной базы.)
PGDATESTYLE
устанавливает стиль представления даты/времени по умолчанию. (РавносильноSET datestyle TO ...
.)PGTZ
устанавливает часовой пояс по умолчанию. (РавносильноSET timezone TO ...
.)PGGEQO
устанавливает режим по умолчанию для генетического оптимизатора запросов. (РавносильноSET geqo TO ...
.)
Информацию о корректных значениях этих переменных окружения можно найти в описании SQL-команды SET.
Следующие переменные среды определяют внутреннее поведение libpq; они переопределяют встроенные значения.
PGSYSCONFDIR
задаёт каталог, в котором содержится файлpg_service.conf
, а в будущем он может содержать и другие общесистемные файлы конфигурации.PGREUSEPASS
действует так же, как параметр соединения reusepass. При использовании этой переменной окружения автоматическое переподключение может не производиться.PGLOCALEDIR
задаёт каталог, содержащий файлыlocale
, предназначенные для перевода сообщений.