31.14. Переменные окружения
Воспользовавшись следующими переменными окружения, можно задать значения параметров соединения по умолчанию, которые будут использоваться функциями PQconnectdb, PQsetdbLogin и PQsetdb, если никакое значение не будет задано вызывающим кодом. В частности, используя их, можно обойтись без жёсткого задания параметров соединения в простых клиентских приложениях.
PGHOSTдействует так же, как параметр соединения host.PGHOSTADDRдействует так же, как параметр соединения hostaddr. Эту переменную можно задать вместо или вместе сPGHOSTдля предотвращения поиска адреса в DNS.PGPORTдействует так же, как параметр соединения port.PGDATABASEдействует так же, как параметр соединения dbname.PGUSERдействует так же, как параметр соединения user.PGPASSWORDдействует так же, как параметр соединения password. Использовать эту переменную окружения не рекомендуется по соображениям безопасности, так как в некоторых операционных системах непривилегированные пользователи могут видеть переменные окружения процессов в выводе ps; вместо этого лучше использовать файл~/.pgpass(см. Раздел 31.15).PGPASSFILEустанавливает имя файла паролей, в котором будут находиться сохранённые пароли. По умолчанию применяется имя файла~/.pgpass(см. Раздел 31.15).PGSERVICEдействует так же, как параметр соединения service.PGSERVICEFILEзадаёт имя личного файла пользователя с параметрами подключения к службам. По умолчанию применяется имя файла~/.pg_service.conf(см. Раздел 31.16).PGOPTIONSдействует так же, как параметр соединения options.PGAPPNAMEдействует так же, как параметр соединения application_name.PGSSLMODEдействует так же, как параметр соединения sslmode.PGREQUIRESSLдействует так же, как параметр соединения requiressl. Эта переменная окружения утратила актуальность с появлением переменнойPGSSLMODE; если установить обе переменные, значение данной не возымеет эффекта.PGSSLCOMPRESSIONдействует так же, как параметр соединения sslcompression.PGSSLCERTдействует так же, как параметр соединения sslcert.PGSSLKEYдействует так же, как параметр соединения sslkey.PGSSLROOTCERTдействует так же, как параметр соединения sslrootcert.PGSSLCRLдействует так же, как параметр соединения sslcrl.PGREQUIREPEERдействует так же, как параметр соединения requirepeer.PGKRBSRVNAMEдействует так же, как параметр соединения krbsrvname.PGGSSLIBдействует так же, как параметр соединения gsslib.PGCONNECT_TIMEOUTдействует так же, как параметр соединения connect_timeout.PGCLIENTENCODINGдействует так же, как параметр соединения client_encoding.
Следующие переменные окружения позволяют задать поведение по умолчанию для каждого отдельного сеанса PostgreSQL. (См. также описание команд ALTER ROLE и ALTER DATABASE, позволяющих установить поведение по умолчанию для отдельного пользователя или отдельной базы.)
PGDATESTYLEустанавливает стиль представления даты/времени по умолчанию. (РавносильноSET datestyle TO ....)PGTZустанавливает часовой пояс по умолчанию. (РавносильноSET timezone TO ....)PGGEQOустанавливает режим по умолчанию для генетического оптимизатора запросов. (РавносильноSET geqo TO ....)
Информацию о корректных значениях этих переменных окружения можно найти в описании SQL-команды SET.
Следующие переменные среды определяют внутреннее поведение libpq; они переопределяют встроенные значения.