Re: Excessive number of replication slots for 12->14 logical replication

hubert depesz lubaczewski <depesz@depesz.com>

From: hubert depesz lubaczewski <depesz@depesz.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2022-07-15T07:45:40Z
Lists: pgsql-bugs
On Fri, Jul 15, 2022 at 01:55:32PM +0900, Kyotaro Horiguchi wrote:
> Thus, not just about logical replication, some spare slots are
> necessary to keep things running smoothly.  I guess that it is
> widely(?)  recommended to provide at least one or two spare slots to
> allow replication reconnection in case of silent disconnections, but I
> haven't found something like that in the documentation.. In your case,
> it seems to me larger number of spare slots makes the server run more
> smoothly, *I* don't think 10 spare slots affect anything badly.

OK. The explanation makes sense, but leads to problem - we have 50
max replication slots, which gives me 20 spare slots.

And I'm not sure how much should I increase it so that it will still
work.

Plus - there is the problem that increasing max_replication_slots
requires restart :(

Anyway, will deal with it, now that I understand the issue. Thanks
a lot.

Best regards,

depesz




Commits

  1. Make the tablesync worker's replication origin drop logic robust.

  2. Drop replication origin slots before tablesync worker exits.

  3. Allow multiple xacts during table sync in logical replication.