From: | Japin Li <japinli(at)hotmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Requested WAL segment xxx has already been removed |
Date: | 2025-07-14 08:08:06 |
Message-ID: | ME0P300MB044585BDF98BA673FA8DEDA2B654A@ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi all,
I recently hit an error with our streaming replication setup:
2025-07-14 11:52:59.361 CST,"replicator","",728458,"10.9.9.74:35724",68747f1b.b1d8a,1,"START_REPLICATION",2025-07-14 11:52:59 CST,3/0,0,ERROR,58P01,"requested WAL segment 00000001000000000000000C has already been removed",,,,,,"START_REPLICATION 0/C000000 TIMELINE 1",,,"standby","walsender",,0
It appears the requested WAL segment 00000001000000000000000C had already been
archived, and I confirmed its presence in the archive directory. However, when
the standby tried to request this file, the primary only searched for it in
pg_wal and didn't check the archive directory. I had to manually copy the
segment into pg_wal to get streaming replication working again.
My question is: Can we make the primary automatically search the archive if
restore_command is set?
I found that Fujii Masao also requested this feature [1], but it seems there
wasn't a consensus.
I've attached a script to reproduce this issue.
--
Regards,
Japin Li
Attachment | Content-Type | Size |
---|---|---|
stream-replication.sh | text/x-sh | 928 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Dolgov | 2025-07-14 08:10:26 | Re: Changing shared_buffers without restart |
Previous Message | Andrei Lepikhov | 2025-07-14 08:04:01 | Re: track needed attributes in plan nodes for executor use |