Pertinent to another thread titled [HACKERS] corrupt pages detected by enabling checksums I hope to explore the possibility of using fallocate (or posix_fallocate) for new WAL file creation.
Most modern Linux filesystems support fast fallocate/posix_fallocate, reducing extent fragmentation (where extents are used) and frequently offering a pretty significant speed improvement. In my tests, using posix_fallocate (followed by pg_fsync) is at least 28 times quicker than using the current method (which writes zeroes followed by pg_fsync). I have written up a patch to use posix_fallocate in new WAL file creation, including configuration by way of a GUC variable, but I've not contributed to the PostgreSQL project before. Therefore, I'm fairly certain the patch is not formatted properly or conforms to the appropriate style guides. Currently, the patch is based on 9.2, and is quite small in size - 3.6KiB. Advice on how to proceed is appreciated. -- Jon -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers