Speed up pg_checksums in cases where checksum already set - Mailing list pgsql-hackers

From Greg Sabino Mullane
Subject Speed up pg_checksums in cases where checksum already set
Date
Msg-id CAKAnmmL+k6goxmVzQJB+0bAR0PN1sgo6GDUXJhyhUmVMze1QAw@mail.gmail.com
Whole thread Raw
Responses Re: Speed up pg_checksums in cases where checksum already set
Re: Speed up pg_checksums in cases where checksum already set
Re: Speed up pg_checksums in cases where checksum already set
List pgsql-hackers
The attached patch makes an optimization to pg_checksums which prevents rewriting the block if the checksum is already what we expect. This can lead to much faster runs in cases where it is already set (e.g. enabled -> disabled -> enable, external helper process, interrupted runs, future parallel processes). There is also an effort to not sync the data directory if no changes were written. Finally, added a bit more output on how many files were actually changed, e.g.:

Checksum operation completed
Files scanned:   1236
Blocks scanned:  23283
Files modified:  38
Blocks modified: 19194
pg_checksums: syncing data directory
pg_checksums: updating control file
Checksums enabled in cluster


Cheers,
Greg


Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Add PortalDrop in exec_execute_message
Next
From: Bruce Momjian
Date:
Subject: Re: Add ZSON extension to /contrib/