#!/bin/bash export ENABLE_REPLICATION=${ENABLE_REPLICATION:-false} set -eu export_vars=$(cgroup-limits) ; export $export_vars source "${CONTAINER_SCRIPTS_PATH}/common.sh" set_pgdata process_extending_files \ "${APP_DATA}/src/postgresql-pre-start" \ "${CONTAINER_SCRIPTS_PATH}/pre-start" check_env_vars generate_passwd_file generate_postgresql_config # Is this brand new data volume? PG_INITIALIZED=false if [ ! -f "$PGDATA/postgresql.conf" ]; then initialize_database PG_INITIALIZED=: else try_pgupgrade fi pg_ctl -w start -o "-h ''" if $PG_INITIALIZED ; then process_extending_files \ "${APP_DATA}/src/postgresql-init" \ "${CONTAINER_SCRIPTS_PATH}/init" migrate_db create_users fi process_extending_files \ "${APP_DATA}/src/postgresql-start" \ "${CONTAINER_SCRIPTS_PATH}/start" pg_ctl stop unset_env_vars echo "Starting server..." exec postgres "$@"