pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Georg H. <georg-h@silentrunner.de>
To: vas@sibptus.ru
To: pgsql-admin@lists.postgresql.org
Subject: Re: Temporary disabling a replica in a Patroni cluster
Date: Fri, 25 Aug 2023 13:24:12 +0200
Message-ID: <aa042283-01b1-36f1-3d1e-90fbb5dd6a75@silentrunner.de> (raw)
In-Reply-To: <ZOiOEgeQ0HywK9sN@admin.sibptus.ru>
References: <ZOiOEgeQ0HywK9sN@admin.sibptus.ru>

Hello Victor,


Am 25.08.2023 um 13:18 schrieb Victor Sudakov:
> Dear Colleagues,
>
> Do you perchance know what is the correct procedure of temporarily
> taking down a replica in a Patroni cluster, e.g. for 5-10 minutes of
> hardware maintenance?
>
> The problem is that after stopping the patroni process (service) on a
> replica, patroni removes the corresponding physical replication slot
> from the leader, and unless the wal_keep_size value is unsanely high,
> the replica, when up again, cannot restart streaming because the WAL
> segments are already gone from the leader.
>
> Well, you all know:
> <%%%>LOG:  started streaming WAL from primary at B4A0/E2000000 on timeline 8
> <%%%>FATAL:  could not receive data from WAL stream: ERROR:  requested WAL segment 000000080000B4A0000000E2 has already been removed
> <%%%>LOG:  waiting for WAL to become available at B4A0/E2002000
>
> Do you think there is a way to tell Patroni that a replica is down
> temporarily and its replication slot should not be removed?
>
> Or, what am I missing?


you may use patronictl pause + resume

keep in mind to set wal_keep_size (or wal_keep_segments depending on 
your PG version high enough)

regards

Georg






view thread (4+ messages)  latest in thread

Message-ID: <aa042283-01b1-36f1-3d1e-90fbb5dd6a75@silentrunner.de>
Permalink:  ../aa042283-01b1-36f1-3d1e-90fbb5dd6a75@silentrunner.de/
Also on:    postgresql.org/message-id/aa042283-01b1-36f1-3d1e-90fbb5dd6a75@silentrunner.de

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: georg-h@silentrunner.de, vas@sibptus.ru, pgsql-admin@lists.postgresql.org
  Subject: Re: Temporary disabling a replica in a Patroni cluster
  In-Reply-To: <aa042283-01b1-36f1-3d1e-90fbb5dd6a75@silentrunner.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox