Re: How to start slave after pg_basebackup. Why min_wal_size and wal_keep_segments are duplicated

From: Paul Förster <paul(dot)foerster(at)gmail(dot)com>
To: Andrus <kobruleht2(at)hot(dot)ee>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to start slave after pg_basebackup. Why min_wal_size and wal_keep_segments are duplicated
Date: 2020-05-31 21:35:33
Message-ID: EBFD984A-90DC-4C6A-A6D8-233F08472C31@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Andrus,

> On 31. May, 2020, at 22:56, Andrus <kobruleht2(at)hot(dot)ee> wrote:
> wal files are not archieved.

IMHO a bad decision. They should be. Now you're in the situation where you see why.

> 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 enough on the master and, just as much important, do a vacuumdb -a (takes much space during the process) and use archiving!

> 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 server stops.

if you have disk constraints you will run into trouble sooner or later anyway. Make sure, you have enough disk space. There's no way around that anyway.

> 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 depends on 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'll have to launch the replica before WALs are expired!

Again: Make sure you have enough disk space, use archiving and use a replication slot.

Cheers,
Paul

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrus 2020-05-31 21:43:02 Re: How to start slave after pg_basebackup. Why min_wal_size and wal_keep_segments are duplicated
Previous Message Adrian Klaver 2020-05-31 21:26:28 Re: How to start slave after pg_basebackup. Why min_wal_size and wal_keep_segments are duplicated