Size: a a a

DevOps — русскоговорящее сообщество

2020 March 26

s

suchimauz in DevOps — русскоговорящее сообщество
Но придется их переключать между собой если ты хочешь HA
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Реплику в мастер
источник

s

suchimauz in DevOps — русскоговорящее сообщество
А мастер который ты остановил
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Станет репликой
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Такое умеет вроде postgres docker image
источник

AM

Artur Mustafin in DevOps — русскоговорящее сообщество
suchimauz
Станет репликой
так и хочу, только с примерами труба пока)
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Artur Mustafin
так и хочу, только с примерами труба пока)
А лол, дефолтный docker postgres image так не умеет
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Вообщем надо переписывать entry-point
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Могу тебе в личку скинуть свой entry-point
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Но мы с нуля собрали postgres
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Докинув jsquery
источник

s

suchimauz in DevOps — русскоговорящее сообщество
if [ ! -s "$PGDATA/PG_VERSION" ]; then

   # Prepare REPLICA
   if [ -n "$PG_SLOT" ] && [ -n "$PG_MASTER_HOST" ]; then

 # Configure connecton for pg_basebackup and psql create replication slot
 echo "$PG_MASTER_HOST:5432:*:$POSTGRES_USER:$POSTGRES_PASSWORD" > ~/.pgpass
 chmod 0600 ~/.pgpass

 NUM_ATTEMPTS=20
 n=0
 until [ $n -ge $NUM_ATTEMPTS ]
 do
     pg_basebackup -D $PGDATA -Fp -U $POSTGRES_USER -w -R -Xs -c fast -l 'clone'  -P -v -h $PG_MASTER_HOST -U $POSTGRES_USER  && export RESTORED=1 && break
     n=$[$n+1]
     echo "Not ready; Sleep $n"
     sleep $n
 done

 # Create replication slot
 psql -h $PG_MASTER_HOST -U $POSTGRES_USER -w -c "SELECT pg_create_physical_replication_slot('$PG_SLOT');" || echo "may be exists"

 # Prepare recovery.conf
 echo "primary_slot_name = '$PG_SLOT'"   >> "$PGDATA/standby.signal"
 echo "primary_conninfo = 'host=$PG_MASTER_HOST port=5432 user=$POSTGRES_USER password=$POSTGRES_PASSWORD'" >> "$PGDATA/standby.signal"
 #echo "restore_command = '/opt/pgpro/std-12/bin/wal-g wal-fetch %f %p'" >> "$PGDATA/standby.signal"
 echo
 echo 'PostgreSQL clone process complete; ready for start up.'
 echo
источник

s

suchimauz in DevOps — русскоговорящее сообщество
вот для 12 версии недавно собирал
источник

s

suchimauz in DevOps — русскоговорящее сообщество
примерно такое
источник

s

suchimauz in DevOps — русскоговорящее сообщество
на мастере нужно проставить listen_addresses = '*'
источник

s

suchimauz in DevOps — русскоговорящее сообщество
"host replication $POSTGRES_USER 0.0.0.0/0 md5"
источник

s

suchimauz in DevOps — русскоговорящее сообщество
а
источник

s

suchimauz in DevOps — русскоговорящее сообщество
это в pg_hba
источник

ВК

Виктор Капля in DevOps — русскоговорящее сообщество
Как бы собирать образ под себя, с голой ос - это бест практик :)
источник

s

suchimauz in DevOps — русскоговорящее сообщество
Виктор Капля
Как бы собирать образ под себя, с голой ос - это бест практик :)
+)
источник