-
Notifications
You must be signed in to change notification settings - Fork 2
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cf/5908~1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5908
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 8 files changed
- 2 contributors
Commits on Aug 10, 2025
-
Introduce feature to start WAL receiver eagerly
This commit introduces a new GUC wal_receiver_start_condition which can enable the standby to start it's WAL receiver at an earlier stage. The GUC will default to starting the WAL receiver after WAL from archives and pg_wal have been exhausted, designated by the value 'exhaust'. The value of 'startup' indicates that the WAL receiver will be started immediately on standby startup. Finally, the value of 'consistency' indicates that the server will start after the standby has replayed up to the consistency point. If 'startup' or 'consistency' is specified, the starting point for the WAL receiver will always be the end of all locally available WAL in pg_wal. The end is determined by finding the latest WAL segment in pg_wal and then iterating to the earliest segment. The iteration is terminated as soon as a valid WAL segment is found. Streaming can then commence from the start of that segment. Archiving from the restore command does not holds the control lock and enabling XLogCtl->InstallXLogFileSegmentActive for wal reciever early start will create a race condition with the checkpointer process as fixed in cc2c7d6. Hence skipping early start of the wal receiver in case of archive recovery. Co-authors: Sunil S<[email protected]>, Soumyadeep Chakraborty <[email protected]>, Ashwin Agrawal, Asim Praveen, Wu Hao, Konstantin Knizhnik Discussion:https://www.postgresql.org/message-id/flat/CANXE4Tc3FNvZ_xAimempJWv_RH9pCvsZH7Yq93o1VuNLjUT-mQ%40mail.gmail.com
Configuration menu - View commit details
-
Copy full SHA for 7b61f7f - Browse repository at this point
Copy the full SHA 7b61f7fView commit details -
Test WAL receiver early start upon reaching consistency
This test ensures that when a standby reaches consistency, the WAL receiver starts immediately and begins streaming using the latest valid WAL segment already available on disk. This behavior minimizes delay and avoids waiting for WAL file once all the locally available WAL file is restored and helps in providing `HIGH AVAILABILITY` incase of Primary crash/failure. More it helps quicker recovery when `recovery_min_apply_delay` in large and saves Primary from running out of space. Co-authors: Sunil S<[email protected]>, Soumyadeep Chakraborty <[email protected]>, Ashwin Agrawal, Asim Praveen, Wu Hao, Konstantin Knizhnik Discussion: https://www.postgresql.org/message-id/flat/CANXE4Tc3FNvZ_xAimempJWv_RH9pCvsZH7Yq93o1VuNLjUT-mQ%40mail.gmail.com
Configuration menu - View commit details
-
Copy full SHA for 873f171 - Browse repository at this point
Copy the full SHA 873f171View commit details -
Test archive recovery takes precedence over streaming
Since archive recovery is typically faster and more efficient than streaming, initiating the WAL receiver early—before attempting recovery from archived WAL files—is not ideal. Furthermore, determining the correct starting point for streaming by examining the last valid WAL segment restored from the archive adds complexity and potential risk. Therefore, even when the configuration parameter wal_receiver_start_at is set to consistency, archive recovery should take precedence, and the WAL receiver should only be started after archive recovery is exhausted or deemed unavailable. Co-authors: Sunil S<[email protected]>, Soumyadeep Chakraborty <[email protected]>, Ashwin Agrawal, Asim Praveen, Wu Hao, Konstantin Knizhnik Discussion: https://www.postgresql.org/message-id/flat/CANXE4Tc3FNvZ_xAimempJWv_RH9pCvsZH7Yq93o1VuNLjUT-mQ%40mail.gmail.com
Configuration menu - View commit details
-
Copy full SHA for 775d166 - Browse repository at this point
Copy the full SHA 775d166View commit details -
[CF 5908] v7 - Unnecessary delay in streaming replication due to repl…
…ay lag This branch was automatically generated by a robot using patches from an email thread registered at: https://commitfest.postgresql.org/patch/5908 The branch will be overwritten each time a new patch version is posted to the thread, and also periodically to check for bitrot caused by changes on the master branch. Patch(es): https://www.postgresql.org/message-id/CAOG6S4_GYpUoEyijdommZRFXyH-M2yp8AEnmkwSuri_2LN7Ugw@mail.gmail.com Author(s): Sunil S
Commitfest Bot committedAug 10, 2025 Configuration menu - View commit details
-
Copy full SHA for 4c36e31 - Browse repository at this point
Copy the full SHA 4c36e31View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff cf/5908~1...cf/5908