Re: WAL segments removed from primary despite the fact that logical replication slot needs it.

hubert depesz lubaczewski <depesz@depesz.com>

From: hubert depesz lubaczewski <depesz@depesz.com>
To: Andres Freund <andres@anarazel.de>
Cc: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>, Amit Kapila <amit.kapila16@gmail.com>, pgsql-bugs mailing list <pgsql-bugs@postgresql.org>
Date: 2022-11-17T10:26:57Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix a possibility of logical replication slot's restart_lsn going backwards.

On Wed, Nov 16, 2022 at 11:25:12PM -0800, Andres Freund wrote:
> Perhaps a stupid question - are you using max_slot_wal_keep_size? And what's
> your wal_segment_size? And wal_keep_size?

Are we talking about pg12 side?

=> select name, setting from pg_settings where name ~ 'wal';
             name             │  setting
══════════════════════════════╪═══════════
 max_wal_senders              │ 50
 max_wal_size                 │ 49152
 min_wal_size                 │ 256
 wal_block_size               │ 8192
 wal_buffers                  │ 2048
 wal_compression              │ on
 wal_consistency_checking     │
 wal_init_zero                │ on
 wal_keep_segments            │ 1000
 wal_level                    │ logical
 wal_log_hints                │ off
 wal_receiver_status_interval │ 10
 wal_receiver_timeout         │ 60000
 wal_recycle                  │ on
 wal_retrieve_retry_interval  │ 5000
 wal_segment_size             │ 16777216
 wal_sender_timeout           │ 60000
 wal_sync_method              │ fdatasync
 wal_writer_delay             │ 200
 wal_writer_flush_after       │ 128
(20 rows)

max_slot_wal_keep_size was added in pg13, afaik. and wel_keep_* was
_segments in pg 12.

Best regards,

depesz