Fix slave init: run pg_basebackup and postgres as postgres user via su-exec

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-20 14:03:32 +01:00
parent 932535e6aa
commit 492e080059

View File

@@ -6,12 +6,13 @@ until pg_isready -h db-master -U e-ticket; do
sleep 2
done
echo "db-master:5432:replication:replicator:e-ticket" > ~/.pgpass
chmod 600 ~/.pgpass
echo "db-master:5432:replication:replicator:e-ticket" > /tmp/.pgpass
chown postgres:postgres /tmp/.pgpass
chmod 600 /tmp/.pgpass
rm -rf /var/lib/postgresql/data/*
pg_basebackup -h db-master -D /var/lib/postgresql/data -U replicator -Fp -Xs -P -R
rm -rf "$PGDATA"/*
su-exec postgres env PGPASSFILE=/tmp/.pgpass pg_basebackup -h db-master -D "$PGDATA" -U replicator -Fp -Xs -P -R
echo "hot_standby = on" >> /var/lib/postgresql/data/postgresql.conf
echo "hot_standby = on" >> "$PGDATA/postgresql.conf"
exec "$@"
exec su-exec postgres "$@"