Skip to content

Make ycmdb.shared_archive runtime-changeable and add space saver (PG16) - #93

Open
x4m wants to merge 1 commit into
MDB_16_STABLEfrom
sa_16_guc
Open

Make ycmdb.shared_archive runtime-changeable and add space saver (PG16)#93
x4m wants to merge 1 commit into
MDB_16_STABLEfrom
sa_16_guc

Conversation

@x4m

@x4m x4m commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Change ycmdb.shared_archive from PGC_POSTMASTER to PGC_SIGHUP so the shared archive behavior can be toggled without a server restart.

Add a new GUC ycmdb.shared_archive_space_saver (PGC_SIGHUP). When enabled on a standby it disables the shared-archive WAL retention: the walreceiver forces streamed segments to .done instead of holding them as .ready, and XLogArchiveCheckDone() lets checkpoint recycle such segments during recovery. This lets a disk-usage watcher relieve a standby that would otherwise accumulate unarchived WAL until it fills the disk and fails over (e.g. while the shared archive storage is unavailable). The trade-off is a gap in the archived WAL history; the flag has no effect on a primary.

The new SharedArchiveRetentionActive() macro expresses "shared archive is active and retention is not overridden" and is used in the two retention decision points.

Change ycmdb.shared_archive from PGC_POSTMASTER to PGC_SIGHUP so the
shared archive behavior can be toggled without a server restart.

Add a new GUC ycmdb.shared_archive_space_saver (PGC_SIGHUP).  When
enabled on a standby it disables the shared-archive WAL retention: the
walreceiver forces streamed segments to .done instead of holding them as
.ready, and XLogArchiveCheckDone() lets checkpoint recycle such segments
during recovery.  This lets a disk-usage watcher relieve a standby that
would otherwise accumulate unarchived WAL until it fills the disk and
fails over (e.g. while the shared archive storage is unavailable).  The
trade-off is a gap in the archived WAL history; the flag has no effect on
a primary.

The new SharedArchiveRetentionActive() macro expresses "shared archive is
active and retention is not overridden" and is used in the two retention
decision points.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant