[comment]: # ({4c4650a2-heading})
# 11. Плагин PostgreSQL 

[comment]: # ({/4c4650a2-heading})

[comment]: # ({26957231-overview})
#### Обзор

В этом разделе перечислены параметры, поддерживаемые в файле конфигурации
плагина PostgreSQL для Zabbix агента 2 (postgresql.conf).
 
Начиная с версии Zabbix 6.0.10, плагин PostgreSQL является подгружаемым плагином, который доступен и полностью описан в
[репозитории плагина PostgreSQL \[en\]](https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F6.0)

Предварительно скомпилированные бинарные файлы плагина для Windows доступны, начиная с версии [Zabbix 6.0.19](https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.19/), и совместимы с предыдущими версиями 6.0.

Обратите внимание, что:

-  Значения по умолчанию отражают значения по умолчанию для процесса, а не значения в поставляемых файлах конфигурации;
-  Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без
 [BOM](https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2);
-  Комментарии, начинающиеся с «\#», поддерживаются только в начале строки.

[comment]: # ({/26957231-overview})

[comment]: # ({1a59fae9-options})
### Опции

|Параметр|Описание|
|---------|-----------|
|-V --version|Вывести версию плагина и информацию о лицензии.|
|-h --help|Вывести справочную информацию (сокращённо).|

[comment]: # ({/1a59fae9-options})

[comment]: # ({55098534-parameters})
### Параметры

::: noteclassic
В версиях Zabbix до 6.0.10, имена параметров начинались с *Plugins.Postgres.<Параметр>* вместо
*Plugins.PostgreSQL.<Параметр>*. Например, *Plugins.Postgres.KeepAlive*.
:::

|Параметр|Обязательный|Диапазон|По умолчанию|Описание|
|--|--|--|--|----------|
|Plugins.PostgreSQL.Default.CacheMode|нет| |prepare|Режим кэширования для соединений PostgreSQL.<br>Поддерживаются значения:<br>*prepare* (по умолчанию) — будет создавать параметризованные запросы (prepared statements) на сервере PostgreSQL;<br>*describe* — будет использовать анонимные параметризованные запросы (anonymous prepared statement) для описания запросов без создания запросов на сервере.<br>Обратите внимание, что «describe» главным образом полезен, когда среда не допускает параметризованные запросы, например, при работе пулера соединений наподобие PgBouncer.<br>Поддерживается с версии 6.0.25.|
|Plugins.PostgreSQL.CallTimeout|нет|1-30|глобальный тайм-аут|Максимальное время ожидания (в секундах) завершения запроса.|
|Plugins.PostgreSQL.CustomQueriesPath|нет| |отключено|Абсолютный путь к папке, содержащей файлы *.sql* для пользовательских запросов.|
|Plugins.PostgreSQL.Default.Database|нет| | |База данных по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.Password|нет| | |Пароль по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.TLSCAFile|нет<br>(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*)| | |Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла для зашифрованных соединений между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.TLSCertFile|нет<br>(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*)| | |Абсолютный путь к файлу, который содержит сертификат PostgreSQL или цепочку сертификатов для зашифрованных соединений между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.TLSConnect|нет| | |Тип шифрования для коммуникаций между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.<br>Поддерживаются значения:<br>*required* — подключаться, используя TLS как режим транспорта без проверки подлинности;<br>*verify\_ca* — подключаться с использованием TLS и проверкой сертификата;<br>*verify\_full* — подключаться с использованием TLS, проверкой сертификата и проверкой того, что идентификатор базы данных (CN), указанный параметром DBHost, соответствует своему сертификату.<br>Неуказанный тип шифрования означает нешифрованное подключение.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.TLSKeyFile|нет<br>(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*)| | |Абсолютный путь к файлу, содержащему закрытый ключ (private key) PostgreSQL, используется для зашифрованных коммуникаций между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.Uri|нет| | |URI по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.<br><br>Не должно содержать встроенных креденшиалов (они будут проигнорированы).<br>Должно соответствовать формату URI.<br>Поддерживаются схемы: `tcp`, `unix`.<br>Примеры: `tcp://127.0.0.1:5432`<br>`tcp://localhost`<br>`unix:/var/run/postgresql/.s.PGSQL.5432`<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.Default.User|нет| | |Имя пользователя по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.<br>Поддерживается с версии 6.0.18.|
|Plugins.PostgreSQL.KeepAlive|нет|60-900|300|Максимальное время ожидания (в секундах), прежде чем неиспользуемые плагином соединения закрываются.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.CacheMode|нет| |prepare|Режим кэширования для соединений PostgreSQL.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.<br>Поддерживаются значения:<br>*prepare* (по умолчанию) - будет создавать параметризованные запросы (prepared statements) на сервере PostgreSQL;<br>*describe* — будет использовать анонимные параметризованные запросы (anonymous prepared statement) для описания запросов без создания запросов на сервере.<br>Обратите внимание, что «describe» главным образом полезен, когда среда не допускает параметризованные запросы, например, при работе пулера соединений наподобие PgBouncer.<br>Поддерживается с версии 6.0.25.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.Database|нет| | |База данных именованной сессии для подключения.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.Password|нет|Должно соответствовать формату пароля.| |Пароль именованной сессии для подключения.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCAFile|нет<br>(да, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*)| | |Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCertFile|да, если параметр Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSKeyFile указан.<br><br>До версии 6.0.22 всегда обязателен, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*| | |Абсолютный путь к файлу, который содержит сертификат PostgreSQL или цепочку сертификатов.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect|нет| | |Тип шифрования для подключения к PostgreSQL.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.<br><br>Поддерживаются значения:<br>*required* — подключаться, используя TLS как режим транспорта без проверки подлинности;<br>*verify\_ca* — подключаться с использованием TLS и проверкой сертификата;<br>*verify\_full* — подключаться с использованием TLS, проверкой сертификата и проверкой того, что идентификатор базы данных (CN), указанный параметром DBHost, соответствует своему сертификату.<br>Неуказанный тип шифрования означает нешифрованное подключение.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSKeyFile|да, если параметр Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCertFile указан.<br><br>До версии 6.0.22 всегда обязателен, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: *verify_ca*, *verify_full*| | |Абсолютный путь к файлу, содержащему закрытый ключ (private key) PostgreSQL.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.Uri|нет| | |Строка подключения именованной сессии.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.<br><br>Не должна содержать встроенных креденшиалов (они будут проигнорированы).<br>Должна соответствовать формату URI.<br>Поддерживаются схемы: `tcp`, `unix`.<br>Примеры: `tcp://127.0.0.1:5432`<br>`tcp://localhost`<br>`unix:/var/run/postgresql/.s.PGSQL.5432`|
|Plugins.PostgreSQL.Sessions.<ИмяСессии>.User|нет| | |Имя пользователя именованной сессии.<br>**<ИмяСессии>** — определяет имя сессии, используемое в ключах элементов данных.|
|Plugins.PostgreSQL.System.Path|да| | |Путь до внешнего исполняемого файла плагина. Поддерживается с версии Zabbix 6.0.10.|
|Plugins.PostgreSQL.Timeout|нет|1-30|глобальный тайм-аут|Тайм-аут выполнения запроса (продолжительность в секундах ожидания завершения запроса, прежде чем он будет завершён принудительно).|

Смотрите также:

-   Описание общих параметров конфигурации Zabbix агента 2:
    [Zabbix агент 2 (UNIX)](/manual/appendix/config/zabbix_agent2) /
    [Zabbix агент 2
    (Windows)](/manual/appendix/config/zabbix_agent2_win)
-   Инструкции по настройке [плагинов](/manual/config/items/plugins)

[comment]: # ({/55098534-parameters})


