Commit fac7fed7 authored by Matt Pryor's avatar Matt Pryor
Browse files

Upgrade to postgres 10

parent f3dad725
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -48,20 +48,20 @@ fi
export DB_INITIALISED=true

echo "[info] Initialising database in $PGDATA"
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
eval '/usr/pgsql-10/bin/initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"

echo "[info] Starting local server"
export PGUSER="$POSTGRES_USER"
export PGPASSWORD="$POSTGRES_PASSWORD"
pg_ctl -D "$PGDATA" -o "-c listen_addresses='' -p $PGPORT" -w start
/usr/pgsql-10/bin/pg_ctl -D "$PGDATA" -o "-c listen_addresses='' -p $PGPORT" -w start

if [ "$POSTGRES_DATABASE" != 'postgres' ]; then
    echo "[info] Creating database - $POSTGRES_DATABASE"
    psql -v ON_ERROR_STOP=1 --dbname postgres --set db="$POSTGRES_DATABASE" <<< 'CREATE DATABASE :"db" ;'
    /usr/pgsql-10/bin/psql -v ON_ERROR_STOP=1 --dbname postgres --set db="$POSTGRES_DATABASE" <<< 'CREATE DATABASE :"db" ;'
fi

echo "[info] Running database setup scripts from $ESGF_INIT_DB_DIR"
psql=( psql -v ON_ERROR_STOP=1 --dbname "$POSTGRES_DATABASE" )
psql=( /usr/pgsql-10/bin/psql -v ON_ERROR_STOP=1 --dbname "$POSTGRES_DATABASE" )
if [ -d "$ESGF_INIT_DB_DIR" ]; then
    for file in $(find $ESGF_INIT_DB_DIR -mindepth 1 -type f | sort -n); do
        echo "[info] Running database setup from $file"
@@ -75,7 +75,7 @@ if [ -d "$ESGF_INIT_DB_DIR" ]; then
fi

echo "[info] Stopping local server"
pg_ctl -D "$PGDATA" -m fast -w stop
/usr/pgsql-10/bin/pg_ctl -D "$PGDATA" -m fast -w stop

unset PGUSER PGPASSWORD
echo "[info] Database initialisation complete!"
+5 −4
Original line number Diff line number Diff line
@@ -19,12 +19,13 @@ ENV PGPORT 5432
# We also munge the sample config files to be correct for our use case by default, i.e.
#   listen on all addresses and allow password-based auth
RUN yum makecache && \
    yum install -y postgresql-server && \
    yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm && \
    yum install -y postgresql10-server-10.12* && \
    yum clean all && \
    mkdir -p /var/lib/pgsql/data && \
    chown -R $ESGF_USER:$ESGF_GROUP /var/lib/pgsql /run/postgresql && \
    sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/pgsql/postgresql.conf.sample && \
    echo "host all all all md5" >> /usr/share/pgsql/pg_hba.conf.sample
    sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/pgsql-10/share/postgresql.conf.sample && \
    echo "host all all all md5" >> /usr/pgsql-10/share/pg_hba.conf.sample

# Install database initialisation script
COPY 01-initdb.sh $ESGF_INIT_DIR/
@@ -32,4 +33,4 @@ COPY 01-initdb.sh $ESGF_INIT_DIR/
# Run as the esgf user by default
USER $ESGF_UID
EXPOSE 5432
CMD ["postgres"]
CMD ["/usr/pgsql-10/bin/postgres"]