diff --git a/bitnami/postgresql/14/debian-11/Dockerfile b/bitnami/postgresql/14/debian-11/Dockerfile index b242ec568a1b..61a8027f94ae 100644 --- a/bitnami/postgresql/14/debian-11/Dockerfile +++ b/bitnami/postgresql/14/debian-11/Dockerfile @@ -5,10 +5,10 @@ ARG TARGETARCH ARG WITH_ALL_LOCALES="no" LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ - org.opencontainers.image.created="2023-05-15T21:10:32Z" \ + org.opencontainers.image.created="2023-05-18T21:42:25Z" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="14.8.0-debian-11-r1" \ + org.opencontainers.image.ref.name="14.8.0-debian-11-r2" \ org.opencontainers.image.title="postgresql" \ org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.version="14.8.0" diff --git a/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/libpostgresql.sh b/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/libpostgresql.sh index 678ce259b5a1..9299aa0ef01e 100644 --- a/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/libpostgresql.sh +++ b/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/libpostgresql.sh @@ -54,6 +54,12 @@ postgresql_validate() { error_code=1 } + check_multi_value() { + if [[ " ${2} " != *" ${!1} "* ]]; then + print_validation_error "The allowed values for ${1} are: ${2}" + fi + } + empty_password_enabled_warn() { warn "You set the environment variable ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}. For safety reasons, do not use this flag in a production environment." } @@ -143,6 +149,10 @@ postgresql_validate() { fi fi + if [[ -n "$POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE" ]]; then + check_multi_value "POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE" "FIRST ANY" + fi + [[ "$error_code" -eq 0 ]] || exit "$error_code" } @@ -390,6 +400,7 @@ postgresql_configure_replication_parameters() { ######################### postgresql_configure_synchronous_replication() { local replication_nodes="" + local synchronous_standby_names="" info "Configuring synchronous_replication" # Check for comma separate values @@ -409,8 +420,13 @@ postgresql_configure_synchronous_replication() { fi if ((POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS > 0)); then + synchronous_standby_names="${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS} (${replication_nodes})" + if [[ -n "$POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE" ]]; then + synchronous_standby_names="${POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE} ${synchronous_standby_names}" + fi + postgresql_set_property "synchronous_commit" "$POSTGRESQL_SYNCHRONOUS_COMMIT_MODE" - postgresql_set_property "synchronous_standby_names" "${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS} (${replication_nodes})" + postgresql_set_property "synchronous_standby_names" "$synchronous_standby_names" fi } diff --git a/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/postgresql-env.sh b/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/postgresql-env.sh index c99a136bf1f4..9fa2c899d60a 100644 --- a/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/postgresql-env.sh +++ b/bitnami/postgresql/14/debian-11/rootfs/opt/bitnami/scripts/postgresql-env.sh @@ -36,6 +36,7 @@ postgresql_env_vars=( POSTGRESQL_MASTER_HOST POSTGRESQL_MASTER_PORT_NUMBER POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS + POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE POSTGRESQL_PORT_NUMBER POSTGRESQL_ALLOW_REMOTE_CONNECTIONS POSTGRESQL_REPLICATION_MODE @@ -103,6 +104,7 @@ postgresql_env_vars=( POSTGRES_MASTER_HOST POSTGRES_MASTER_PORT_NUMBER POSTGRES_NUM_SYNCHRONOUS_REPLICAS + POSTGRES_SYNCHRONOUS_REPLICAS_MODE POSTGRES_PORT_NUMBER POSTGRES_ALLOW_REMOTE_CONNECTIONS POSTGRES_REPLICATION_MODE @@ -215,6 +217,8 @@ POSTGRESQL_MASTER_PORT_NUMBER="${POSTGRESQL_MASTER_PORT_NUMBER:-"${POSTGRES_MAST export POSTGRESQL_MASTER_PORT_NUMBER="${POSTGRESQL_MASTER_PORT_NUMBER:-5432}" POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS="${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS:-"${POSTGRES_NUM_SYNCHRONOUS_REPLICAS:-}"}" export POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS="${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS:-0}" +POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE="${POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE:-"${POSTGRES_SYNCHRONOUS_REPLICAS_MODE:-}"}" +export POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE="${POSTGRESQL_SYNCHRONOUS_REPLICAS_MODE:-}" POSTGRESQL_PORT_NUMBER="${POSTGRESQL_PORT_NUMBER:-"${POSTGRES_PORT_NUMBER:-}"}" export POSTGRESQL_PORT_NUMBER="${POSTGRESQL_PORT_NUMBER:-5432}" POSTGRESQL_ALLOW_REMOTE_CONNECTIONS="${POSTGRESQL_ALLOW_REMOTE_CONNECTIONS:-"${POSTGRES_ALLOW_REMOTE_CONNECTIONS:-}"}"