Hi, On 2013-05-15 16:26:15 -0500, Jon Nelson wrote: > >> 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. > > I have re-based and reformatted the code, and basic testing shows a > reduction in WAL-file creation time of a fairly significant amount. > I ran 'make test' and did additional local testing without issue. > Therefore, I am attaching the patch. I will try to add it to the > commitfest page.
Some where quick comments, without thinking about this: * needs a configure check for posix_fallocate. The current version will e.g. fail to compile on windows or many other non linux systems. Check how its done for posix_fadvise. * Is wal file creation performance actually relevant? Is the performance of a system running on fallocate()d wal files any different? * According to the man page posix_fallocate doesn't set errno but rather returns the error code. * I wonder whether we ever want to actually disable this? Afair the libc contains emulation for posix_fadvise if the filesystem doesn't support it. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers