Hi!
> I have tried to re-initiate replica serveral times in low-use time but this error occurs again.
>remove the whole replica's PGDATA/* and do a pg_basebackup again. But before that, make sure wal_keep_segments in big
enoughon the
>master and,
I renamed whole cluster before pg_basebackup
>just as much important, do a vacuumdb -a (takes much space during the process) and use archiving!
I run vacuumdb --full --all before pg_basebackup
> If named replication slot is used commands like
> vacuumdb --all --full
> will cause main server crash due to disk space limit. pg_wal directory will occupy free disk space. After that main
serverstops.
>>if you have disk constraints you will run into trouble sooner or later anyway. Make sure, you have enough disk space.
There'sno
>>way around that anyway.
This space is sufficient for base backup and replication.
>> I tried using wal_keep_segments =180
>> Will setting wal_keep_segments to higher value allw replication start after pg_basebackup ?
>it depends. If you start the replica immediately and don't wait for hours or days, you should be good to go. But that
dependson
>different factors, for example, how >many WAL files are written during the pg_basebackup and pg_ctl start of the
replica.If more
>than 180 WALs have gone by on the master because it is really busy, >then you're probably lost again. Point being,
you'llhave to
>launch the replica before WALs are expired!
>Again: Make sure you have enough disk space, use archiving and use a replication slot.
I tried with wal_keep_segments=360 but problem persisists.
Server generates lot of less than 300 wal files.
Shell script starts server after pg_basebackup completes automatically:
PGHOST=example.com
PGPASSWORD=mypass
PGUSER=replikaator
export PGHOST PGPASSWORD PGUSER
/etc/init.d/postgresql stop
mv /var/lib/postgresql/12/main /var/lib/postgresql/12/mainennebaasbakuppi
pg_basebackup --verbose --progress --write-recovery-conf -D /var/lib/postgresql/12/main
chmod --recursive --verbose 0700 /var/lib/postgresql/12/main
chown -Rv postgres:postgres /var/lib/postgresql/12/main
/etc/init.d/postgresql start
How to create replication server ?
Andrus.