Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
Permalink

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/5323~1
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5323
Choose a head ref
  • 5 commits
  • 61 files changed
  • 3 contributors

Commits on Mar 17, 2025

  1. Online enabling and disabling of data checksums

    This allows data checksums to be enabled, or disabled, in a running
    cluster without restricting access to the cluster during processing.
    
    Data checksums could prior to this only be enabled during initdb or
    when the cluster is offline using the pg_checksums app. This commit
    introduce functionality to enable, or disable, data checksums while
    the cluster is running regardless of how it was initialized.
    
    A background worker launcher process is responsible for launching a
    dynamic per-database background worker which will mark all buffers
    dirty for all relation with storage in order for them to have data
    checksums calcuated on write.  Once all relations in all databases
    have been processed, the data_checksums state will be set to on and
    the cluster will at that point be identical to one which had data
    checksums enabled during initialization or via offline processing.
    
    When data checksums are being enabled, concurrent I/O operations
    from backends other than the data checksums worker will write the
    checksums but not verify them on reading.  Only when all backends
    have absorbed the procsignalbarrier for setting data_checksums to
    on will they also start verifying checksums on reading.  The same
    process is repeated during disabling; all backends write checksums
    but do not verify them until the barrier for setting the state to
    off has been absorbed by all.  This in-progress state is used to
    ensure there are no false negatives (or positives) due to reading
    a checksum which is not in sync with the page.
    
    This work is based on an earlier version of this patch which was
    reviewed by among others Heikki Linnakangas, Robert Haas, Andres
    Freund, Tomas Vondra, Michael Banck and Andrey Borodin.
    
    Author: Daniel Gustafsson <daniel@yesql.se>
    Author: Magnus Hagander <magnus@hagander.net>
    Reviewed-by: Tomas Vondra <tomas@vondra.me>
    Discussion: https://postgr.es/m/CABUevExz9hUUOLnJVr2kpw9Cx=o4MCr1SVKwbupzuxP7ckNutA@mail.gmail.com
    Discussion: https://postgr.es/m/20181030051643.elbxjww5jjgnjaxg@alap3.anarazel.de
    Discussion: https://postgr.es/m/CABUevEwE3urLtwxxqdgd5O2oQz9J717ZzMbh+ziCSa5YLLU_BA@mail.gmail.com
    tvondra authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    6c88cd4 View commit details
    Browse the repository at this point in the history
  2. Reviewfixups

    danielgustafsson authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    3934fbb View commit details
    Browse the repository at this point in the history
  3. reworks

    tvondra authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    393e345 View commit details
    Browse the repository at this point in the history
  4. debug stuff

    tvondra authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    50fea27 View commit details
    Browse the repository at this point in the history
  5. [CF 5323] v20250315 - Support enabling checksums online

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5323
    
    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/f528413c-477a-4ec3-a0df-e22a80ffbe41@vondra.me
    Author(s): Magnus Hagander, Daniel Gustafsson
    Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    4d928db View commit details
    Browse the repository at this point in the history
Loading