mirror of
https://github.com/zabbix/zabbix-docker.git
synced 2025-08-19 04:45:59 +02:00
Added support for PostgreSQL database socket volume
This commit is contained in:
@@ -83,16 +83,20 @@ update_config_var() {
|
||||
echo -n "** Updating '$config_path' parameter \"$var_name\": '$var_value'..."
|
||||
fi
|
||||
|
||||
# Remove configuration parameter definition in case of unset parameter value
|
||||
# Remove configuration parameter definition in case of unset or empty parameter value
|
||||
if [ -z "$var_value" ]; then
|
||||
sed -i -e "/^$var_name=/d" "$config_path"
|
||||
echo "removed"
|
||||
return
|
||||
fi
|
||||
|
||||
# Remove value from configuration parameter in case of double quoted parameter value
|
||||
if [ "$var_value" == '""' ]; then
|
||||
sed -i -e "/^$var_name=/s/=.*/=/" "$config_path"
|
||||
# Remove value from configuration parameter in case of set to double quoted parameter value
|
||||
if [[ "$var_value" == '""' ]]; then
|
||||
if [ "$(grep -E "^$var_name=" $config_path)" ]; then
|
||||
sed -i -e "/^$var_name=/s/=.*/=/" "$config_path"
|
||||
else
|
||||
sed -i -e "/^[#;] $var_name=/s/.*/&\n$var_name=/" "$config_path"
|
||||
fi
|
||||
echo "undefined"
|
||||
return
|
||||
fi
|
||||
@@ -154,12 +158,12 @@ file_process_from_env() {
|
||||
|
||||
# Check prerequisites for PostgreSQL database
|
||||
check_variables_postgresql() {
|
||||
: ${DB_SERVER_HOST="postgres-server"}
|
||||
: ${DB_SERVER_PORT:="5432"}
|
||||
|
||||
file_env POSTGRES_USER
|
||||
file_env POSTGRES_PASSWORD
|
||||
|
||||
: ${DB_SERVER_HOST:="postgres-server"}
|
||||
: ${DB_SERVER_PORT:="5432"}
|
||||
|
||||
DB_SERVER_ROOT_USER=${POSTGRES_USER:-"postgres"}
|
||||
DB_SERVER_ROOT_PASS=${POSTGRES_PASSWORD:-""}
|
||||
|
||||
@@ -171,12 +175,24 @@ check_variables_postgresql() {
|
||||
DB_SERVER_DBNAME=${POSTGRES_DB:-"zabbix"}
|
||||
|
||||
: ${POSTGRES_USE_IMPLICIT_SEARCH_PATH:="false"}
|
||||
|
||||
if [ -n "${DB_SERVER_HOST}" ]; then
|
||||
psql_connect_args="--host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT}"
|
||||
else
|
||||
DB_SERVER_HOST='""'
|
||||
psql_connect_args="--port ${DB_SERVER_PORT}"
|
||||
fi
|
||||
}
|
||||
|
||||
check_db_connect_postgresql() {
|
||||
echo "********************"
|
||||
echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}"
|
||||
echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}"
|
||||
if [[ "$DB_SERVER_HOST" != '""' ]]; then
|
||||
echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}"
|
||||
echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}"
|
||||
else
|
||||
echo "* DB_SERVER_HOST: Using DB socket"
|
||||
echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}"
|
||||
fi
|
||||
echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}"
|
||||
echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}"
|
||||
if [ "${DEBUG_MODE,,}" == "true" ]; then
|
||||
@@ -206,8 +222,8 @@ check_db_connect_postgresql() {
|
||||
|
||||
while true :
|
||||
do
|
||||
psql --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --list --quiet 1>/dev/null 2>&1 && break
|
||||
psql --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --list --dbname ${DB_SERVER_DBNAME} --quiet 1>/dev/null 2>&1 && break
|
||||
psql $psql_connect_args --username ${DB_SERVER_ROOT_USER} --list --quiet 1>/dev/null 2>&1 && break
|
||||
psql $psql_connect_args --username ${DB_SERVER_ROOT_USER} --list --dbname ${DB_SERVER_DBNAME} --quiet 1>/dev/null 2>&1 && break
|
||||
|
||||
echo "**** PostgreSQL server is not available. Waiting $WAIT_TIMEOUT seconds..."
|
||||
sleep $WAIT_TIMEOUT
|
||||
@@ -244,7 +260,7 @@ psql_query() {
|
||||
export PGSSLKEY=${ZBX_DBTLSKEYFILE}
|
||||
fi
|
||||
|
||||
result=$(psql --no-align --quiet --tuples-only --host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" \
|
||||
result=$(psql --no-align --quiet --tuples-only $psql_connect_args \
|
||||
--username "${DB_SERVER_ROOT_USER}" --command "$query" --dbname "$db" 2>/dev/null);
|
||||
|
||||
unset PGPASSWORD
|
||||
@@ -284,7 +300,7 @@ exec_sql_file() {
|
||||
fi
|
||||
|
||||
$command $sql_script | psql --quiet \
|
||||
--host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" \
|
||||
$psql_connect_args \
|
||||
--username "${DB_SERVER_ZBX_USER}" --dbname "${DB_SERVER_DBNAME}" 1>/dev/null || exit 1
|
||||
|
||||
unset PGPASSWORD
|
||||
@@ -318,7 +334,7 @@ create_db_database_postgresql() {
|
||||
export PGSSLKEY=${ZBX_DBTLSKEYFILE}
|
||||
fi
|
||||
|
||||
createdb --host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" --username "${DB_SERVER_ROOT_USER}" \
|
||||
createdb $psql_connect_args --username "${DB_SERVER_ROOT_USER}" \
|
||||
--owner "${DB_SERVER_ZBX_USER}" --lc-ctype "en_US.utf8" --lc-collate "en_US.utf8" "${DB_SERVER_DBNAME}"
|
||||
|
||||
unset PGPASSWORD
|
||||
|
Reference in New Issue
Block a user