Add option to use implicit search path in postgres

This commit is contained in:
Alexey Pustovalov
2021-08-05 18:39:34 +02:00
25 changed files with 129 additions and 56 deletions

View File

@ -120,6 +120,10 @@ By default, values for `POSTGRES_USER` and `POSTGRES_PASSWORD` are `zabbix`, `za
The variable is Zabbix database name. By default, value is `zabbix`.
### `POSTGRES_USE_IMPLICIT_SEARCH_PATH`
In some setups, for example including [PgBouncer](https://www.pgbouncer.org), setting the `search_path` via connection parameters fails. If this variable is set to `"true"`, the image skips setting the `search_path` and trusts that the `search_path` of the Zabbix user is setup correctly in PostgreSQL database.
### `ZBX_HISTORYSTORAGEURL`
History storage HTTP[S] URL. This parameter is used for Elasticsearch setup. Available since 3.4.5.

View File

@ -75,6 +75,8 @@ check_variables() {
: ${DB_SERVER_SCHEMA:="public"}
DB_SERVER_DBNAME=${POSTGRES_DB:-"zabbix"}
: ${POSTGRES_USE_IMPLICIT_SEARCH_PATH:="false"}
}
check_db_connect() {
@ -104,7 +106,7 @@ check_db_connect() {
WAIT_TIMEOUT=5
if [ -n "${DB_SERVER_SCHEMA}" ]; then
if [ "${POSTGRES_USE_IMPLICIT_SEARCH_PATH,,}" == "false" ] && [ -n "${DB_SERVER_SCHEMA}" ]; then
PGOPTIONS="--search_path=${DB_SERVER_SCHEMA}"
export PGOPTIONS
fi

View File

@ -120,6 +120,10 @@ By default, values for `POSTGRES_USER` and `POSTGRES_PASSWORD` are `zabbix`, `za
The variable is Zabbix database name. By default, value is `zabbix`.
### `POSTGRES_USE_IMPLICIT_SEARCH_PATH`
In some setups, for example including [PgBouncer](https://www.pgbouncer.org), setting the `search_path` via connection parameters fails. If this variable is set to `"true"`, the image skips setting the `search_path` and trusts that the `search_path` of the Zabbix user is setup correctly in PostgreSQL database.
### `ZBX_HISTORYSTORAGEURL`
History storage HTTP[S] URL. This parameter is used for Elasticsearch setup. Available since 3.4.5.

View File

@ -75,6 +75,8 @@ check_variables() {
: ${DB_SERVER_SCHEMA:="public"}
DB_SERVER_DBNAME=${POSTGRES_DB:-"zabbix"}
: ${POSTGRES_USE_IMPLICIT_SEARCH_PATH:="false"}
}
check_db_connect() {
@ -104,7 +106,7 @@ check_db_connect() {
WAIT_TIMEOUT=5
if [ -n "${DB_SERVER_SCHEMA}" ]; then
if [ "${POSTGRES_USE_IMPLICIT_SEARCH_PATH,,}" == "false" ] && [ -n "${DB_SERVER_SCHEMA}" ]; then
PGOPTIONS="--search_path=${DB_SERVER_SCHEMA}"
export PGOPTIONS
fi

View File

@ -120,6 +120,10 @@ By default, values for `POSTGRES_USER` and `POSTGRES_PASSWORD` are `zabbix`, `za
The variable is Zabbix database name. By default, value is `zabbix`.
### `POSTGRES_USE_IMPLICIT_SEARCH_PATH`
In some setups, for example including [PgBouncer](https://www.pgbouncer.org), setting the `search_path` via connection parameters fails. If this variable is set to `"true"`, the image skips setting the `search_path` and trusts that the `search_path` of the Zabbix user is setup correctly in PostgreSQL database.
### `ZBX_HISTORYSTORAGEURL`
History storage HTTP[S] URL. This parameter is used for Elasticsearch setup. Available since 3.4.5.
@ -230,7 +234,7 @@ The volume allows to use custom certificates for SAML authentification. The volu
The `zabbix-web-apache-pgsql` images come in many flavors, each designed for a specific use case.
## `zabbix-agent2:alpine-<version>`
## `zabbix-web-apache-pgsql:alpine-<version>`
This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
@ -238,11 +242,11 @@ This variant is highly recommended when final image size being as small as possi
To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
## `zabbix-agent:ubuntu-<version>`
## `zabbix-web-apache-pgsql:ubuntu-<version>`
This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
## `zabbix-agent:ol-<version>`
## `zabbix-web-apache-pgsql:ol-<version>`
Oracle Linux is an open-source operating system available under the GNU General Public License (GPLv2). Suitable for general purpose or Oracle workloads, it benefits from rigorous testing of more than 128,000 hours per day with real-world workloads and includes unique innovations such as Ksplice for zero-downtime kernel patching, DTrace for real-time diagnostics, the powerful Btrfs file system, and more.

View File

@ -75,6 +75,8 @@ check_variables() {
: ${DB_SERVER_SCHEMA:="public"}
DB_SERVER_DBNAME=${POSTGRES_DB:-"zabbix"}
: ${POSTGRES_USE_IMPLICIT_SEARCH_PATH:="false"}
}
check_db_connect() {
@ -104,7 +106,7 @@ check_db_connect() {
WAIT_TIMEOUT=5
if [ -n "${DB_SERVER_SCHEMA}" ]; then
if [ "${POSTGRES_USE_IMPLICIT_SEARCH_PATH,,}" == "false" ] && [ -n "${DB_SERVER_SCHEMA}" ]; then
PGOPTIONS="--search_path=${DB_SERVER_SCHEMA}"
export PGOPTIONS
fi

View File

@ -120,6 +120,10 @@ By default, values for `POSTGRES_USER` and `POSTGRES_PASSWORD` are `zabbix`, `za
The variable is Zabbix database name. By default, value is `zabbix`.
### `POSTGRES_USE_IMPLICIT_SEARCH_PATH`
In some setups, for example including [PgBouncer](https://www.pgbouncer.org), setting the `search_path` via connection parameters fails. If this variable is set to `"true"`, the image skips setting the `search_path` and trusts that the `search_path` of the Zabbix user is setup correctly in PostgreSQL database.
### `ZBX_HISTORYSTORAGEURL`
History storage HTTP[S] URL. This parameter is used for Elasticsearch setup. Available since 3.4.5.

View File

@ -75,6 +75,8 @@ check_variables() {
: ${DB_SERVER_SCHEMA:="public"}
DB_SERVER_DBNAME=${POSTGRES_DB:-"zabbix"}
: ${POSTGRES_USE_IMPLICIT_SEARCH_PATH:="false"}
}
check_db_connect() {
@ -103,8 +105,8 @@ check_db_connect() {
fi
WAIT_TIMEOUT=5
if [ -n "${DB_SERVER_SCHEMA}" ]; then
if [ "${POSTGRES_USE_IMPLICIT_SEARCH_PATH,,}" == "false" ] && [ -n "${DB_SERVER_SCHEMA}" ]; then
PGOPTIONS="--search_path=${DB_SERVER_SCHEMA}"
export PGOPTIONS
fi