#!/usr/bin/env bash
set -Eeuo pipefail

mkdir -p "$PGDATA"
chown -R postgres:postgres "$PGDATA"
chmod 0700 "$PGDATA"

if [[ ! -s "$PGDATA/PG_VERSION" ]]; then
  until gosu postgres pg_isready -h primary -p 5432 -U postgres -d lab; do
    sleep 1
  done

  gosu postgres pg_basebackup \
    --dbname="host=primary port=5432 user=replicator password=${REPLICATION_PASSWORD} application_name=replica1" \
    --pgdata="$PGDATA" \
    --format=plain \
    --wal-method=stream \
    --write-recovery-conf \
    --slot=replica1 \
    --progress
fi

exec gosu postgres postgres -D "$PGDATA" -c hot_standby=on
