public inbox for [email protected]help / color / mirror / Atom feed
pgsql: Add file_extend_method=posix_fallocate,write_zeros. 10+ messages / 6 participants [nested] [flat]
* pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 05:09 Thomas Munro <[email protected]> 0 siblings, 0 replies; 10+ messages in thread From: Thomas Munro @ 2026-02-06 05:09 UTC (permalink / raw) To: [email protected] Add file_extend_method=posix_fallocate,write_zeros. Provide a way to disable the use of posix_fallocate() for relation files. It was introduced by commit 4d330a61bb1. The new setting file_extend_method=write_zeros can be used as a workaround for problems reported from the field: * BTRFS compression is disabled by the use of posix_fallocate() * XFS could produce spurious ENOSPC errors in some Linux kernel versions, though that problem is reported to have been fixed The default is file_extend_method=posix_fallocate if available, as before. The write_zeros option is similar to PostgreSQL < 16, except that now it's multi-block. Backpatch-through: 16 Reviewed-by: Jakub Wartak <[email protected]> Reported-by: Dimitrios Apostolou <[email protected]> Discussion: https://postgr.es/m/b1843124-fd22-e279-a31f-252dffb6fbf2%40gmx.net Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/e37b598028469d260650e5e1671c8275d30e22b6 Modified Files -------------- doc/src/sgml/config.sgml | 36 +++++++++++++++++++++++++++ src/backend/storage/file/fd.c | 3 +++ src/backend/storage/smgr/md.c | 21 ++++++++++++---- src/backend/utils/misc/guc_tables.c | 19 ++++++++++++++ src/backend/utils/misc/postgresql.conf.sample | 5 ++++ src/include/storage/fd.h | 11 ++++++++ 6 files changed, 90 insertions(+), 5 deletions(-) ^ permalink raw reply [nested|flat] 10+ messages in thread
* pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 05:09 Thomas Munro <[email protected]> 0 siblings, 0 replies; 10+ messages in thread From: Thomas Munro @ 2026-02-06 05:09 UTC (permalink / raw) To: [email protected] Add file_extend_method=posix_fallocate,write_zeros. Provide a way to disable the use of posix_fallocate() for relation files. It was introduced by commit 4d330a61bb1. The new setting file_extend_method=write_zeros can be used as a workaround for problems reported from the field: * BTRFS compression is disabled by the use of posix_fallocate() * XFS could produce spurious ENOSPC errors in some Linux kernel versions, though that problem is reported to have been fixed The default is file_extend_method=posix_fallocate if available, as before. The write_zeros option is similar to PostgreSQL < 16, except that now it's multi-block. Backpatch-through: 16 Reviewed-by: Jakub Wartak <[email protected]> Reported-by: Dimitrios Apostolou <[email protected]> Discussion: https://postgr.es/m/b1843124-fd22-e279-a31f-252dffb6fbf2%40gmx.net Branch ------ REL_17_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/4dac22aa10d2882c2e6fb465d7c314cc2d8fb754 Modified Files -------------- doc/src/sgml/config.sgml | 37 +++++++++++++++++++++++++++ src/backend/storage/file/fd.c | 3 +++ src/backend/storage/smgr/md.c | 21 +++++++++++---- src/backend/utils/misc/guc_tables.c | 19 ++++++++++++++ src/backend/utils/misc/postgresql.conf.sample | 5 ++++ src/include/storage/fd.h | 11 ++++++++ 6 files changed, 91 insertions(+), 5 deletions(-) ^ permalink raw reply [nested|flat] 10+ messages in thread
* pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 05:09 Thomas Munro <[email protected]> 0 siblings, 1 reply; 10+ messages in thread From: Thomas Munro @ 2026-02-06 05:09 UTC (permalink / raw) To: [email protected] Add file_extend_method=posix_fallocate,write_zeros. Provide a way to disable the use of posix_fallocate() for relation files. It was introduced by commit 4d330a61bb1. The new setting file_extend_method=write_zeros can be used as a workaround for problems reported from the field: * BTRFS compression is disabled by the use of posix_fallocate() * XFS could produce spurious ENOSPC errors in some Linux kernel versions, though that problem is reported to have been fixed The default is file_extend_method=posix_fallocate if available, as before. The write_zeros option is similar to PostgreSQL < 16, except that now it's multi-block. Backpatch-through: 16 Reviewed-by: Jakub Wartak <[email protected]> Reported-by: Dimitrios Apostolou <[email protected]> Discussion: https://postgr.es/m/b1843124-fd22-e279-a31f-252dffb6fbf2%40gmx.net Branch ------ REL_18_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/33e3de6d77e87d6c3c6f8f878dd8de42d37c3b8f Modified Files -------------- doc/src/sgml/config.sgml | 37 +++++++++++++++++++++++++++ src/backend/storage/file/fd.c | 3 +++ src/backend/storage/smgr/md.c | 21 +++++++++++---- src/backend/utils/misc/guc_tables.c | 19 ++++++++++++++ src/backend/utils/misc/postgresql.conf.sample | 4 +++ src/include/storage/fd.h | 11 ++++++++ 6 files changed, 90 insertions(+), 5 deletions(-) ^ permalink raw reply [nested|flat] 10+ messages in thread
* pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 05:10 Thomas Munro <[email protected]> 0 siblings, 0 replies; 10+ messages in thread From: Thomas Munro @ 2026-02-06 05:10 UTC (permalink / raw) To: [email protected] Add file_extend_method=posix_fallocate,write_zeros. Provide a way to disable the use of posix_fallocate() for relation files. It was introduced by commit 4d330a61bb1. The new setting file_extend_method=write_zeros can be used as a workaround for problems reported from the field: * BTRFS compression is disabled by the use of posix_fallocate() * XFS could produce spurious ENOSPC errors in some Linux kernel versions, though that problem is reported to have been fixed The default is file_extend_method=posix_fallocate if available, as before. The write_zeros option is similar to PostgreSQL < 16, except that now it's multi-block. Backpatch-through: 16 Reviewed-by: Jakub Wartak <[email protected]> Reported-by: Dimitrios Apostolou <[email protected]> Discussion: https://postgr.es/m/b1843124-fd22-e279-a31f-252dffb6fbf2%40gmx.net Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f94e9141a0bbb365f8194517e142746466ee7014 Modified Files -------------- doc/src/sgml/config.sgml | 37 +++++++++++++++++++++++++++ src/backend/storage/file/fd.c | 3 +++ src/backend/storage/smgr/md.c | 21 +++++++++++---- src/backend/utils/misc/guc_parameters.dat | 7 +++++ src/backend/utils/misc/guc_tables.c | 9 +++++++ src/backend/utils/misc/postgresql.conf.sample | 4 +++ src/include/storage/fd.h | 11 ++++++++ 7 files changed, 87 insertions(+), 5 deletions(-) ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 11:30 Michael Paquier <[email protected]> parent: Thomas Munro <[email protected]> 0 siblings, 2 replies; 10+ messages in thread From: Michael Paquier @ 2026-02-06 11:30 UTC (permalink / raw) To: Thomas Munro <[email protected]>; +Cc: [email protected] Hi Thomas, On Fri, Feb 06, 2026 at 05:09:54AM +0000, Thomas Munro wrote: > Add file_extend_method=posix_fallocate,write_zeros. It looks like you need to update .abi-compliance-check for stable branches down to v16, due to the new entry added to ConfigureNamesEnum. See: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2026-02-06%2009%3A27%3A27 -- Michael Attachments: [application/pgp-signature] signature.asc (833B, 2-signature.asc) download ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-06 12:57 Thomas Munro <[email protected]> parent: Michael Paquier <[email protected]> 1 sibling, 0 replies; 10+ messages in thread From: Thomas Munro @ 2026-02-06 12:57 UTC (permalink / raw) To: Michael Paquier <[email protected]>; +Cc: Thomas Munro <[email protected]>; [email protected] On Sat, Feb 7, 2026 at 12:30 AM Michael Paquier <[email protected]> wrote: > On Fri, Feb 06, 2026 at 05:09:54AM +0000, Thomas Munro wrote: > > Add file_extend_method=posix_fallocate,write_zeros. > > It looks like you need to update .abi-compliance-check for stable > branches down to v16, due to the new entry added to > ConfigureNamesEnum. See: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2026-02-06%2009%3A27%3A27 Ahh, right, I see (I was asking about this on the patch thread, as I hadn't had to do that before). Will do in a few hours, sorry for the build farm noise. Thanks! ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-12 12:02 Peter Eisentraut <[email protected]> parent: Michael Paquier <[email protected]> 1 sibling, 1 reply; 10+ messages in thread From: Peter Eisentraut @ 2026-02-12 12:02 UTC (permalink / raw) To: Michael Paquier <[email protected]>; Thomas Munro <[email protected]>; +Cc: pgsql-hackers <[email protected]> On 06.02.26 12:30, Michael Paquier wrote: > Hi Thomas, > > On Fri, Feb 06, 2026 at 05:09:54AM +0000, Thomas Munro wrote: >> Add file_extend_method=posix_fallocate,write_zeros. > > It looks like you need to update .abi-compliance-check for stable > branches down to v16, due to the new entry added to > ConfigureNamesEnum. See: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2026-02-06%2009%3A27%3A27 I suppose technically this is an ABI change since the size of ConfigureNamesEnum is changed, but it seems this is irrelevant in practice. Could it be possible to ignore stuff like this without manual intervention? The concern is that say authors or packagers of extensions will observe that there was an ABI change and will think they have to do some extra work, but in practice probably not. The goal should be to not have ABI changes in stable branches. If we just keep marking ABI changes without distinction, then this could lead to fatigue. ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-12 15:53 Tom Lane <[email protected]> parent: Peter Eisentraut <[email protected]> 0 siblings, 1 reply; 10+ messages in thread From: Tom Lane @ 2026-02-12 15:53 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: Michael Paquier <[email protected]>; Thomas Munro <[email protected]>; pgsql-hackers <[email protected]> Peter Eisentraut <[email protected]> writes: > I suppose technically this is an ABI change since the size of > ConfigureNamesEnum is changed, but it seems this is irrelevant in > practice. Could it be possible to ignore stuff like this without manual > intervention? I am working on a bug report to libabigail, arguing that this should not be reported as an ABI diff (at least not in --headersdir mode). That's at best a long-term solution, but on the other hand it's not every day that we add a new GUC to back branches. There was upthread discussion about using a suppression file, but that'd require some testing to ensure that it does what we want and nothing more nor less. (For instance, if suppressing ConfigureNamesEnum resulted in no complaints about changes in struct config_enum, that'd be very bad.) Keep in mind also that libabigail seems to have some nasty blind spots. (I'm about to post something to pgsql-hackers about one that I found last week.) For the time being, I think we'd be well advised to treat the abidiff reports as an experimental work-in-progress. They might eventually get to the level of trustworthiness that you seem to be envisioning, but we're not there yet. regards, tom lane ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-12 19:04 Tom Lane <[email protected]> parent: Tom Lane <[email protected]> 0 siblings, 1 reply; 10+ messages in thread From: Tom Lane @ 2026-02-12 19:04 UTC (permalink / raw) To: Peter Eisentraut <[email protected]>; +Cc: Andrew Dunstan <[email protected]>; David E. Wheeler <[email protected]>; Michael Paquier <[email protected]>; Thomas Munro <[email protected]>; pgsql-hackers <[email protected]> I wrote: > Peter Eisentraut <[email protected]> writes: >> I suppose technically this is an ABI change since the size of >> ConfigureNamesEnum is changed, but it seems this is irrelevant in >> practice. Could it be possible to ignore stuff like this without manual >> intervention? > I am working on a bug report to libabigail, arguing that this should > not be reported as an ABI diff (at least not in --headersdir mode). So I tried to make a small reproducer, and failed. Then I ran the buildfarm script (with abidiff enabled) against c6881f79228, right before the last .abi-compliance-history update, and it passed. IOW, the version of abidiff I have here does not seem to have this bug. It's 2.8.0 from last July or so. Now I'm wondering exactly what libabigail releases crake and baza are using. regards, tom lane ^ permalink raw reply [nested|flat] 10+ messages in thread
* Re: pgsql: Add file_extend_method=posix_fallocate,write_zeros. @ 2026-02-13 14:23 David E. Wheeler <[email protected]> parent: Tom Lane <[email protected]> 0 siblings, 0 replies; 10+ messages in thread From: David E. Wheeler @ 2026-02-13 14:23 UTC (permalink / raw) To: Tom Lane <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; Andrew Dunstan <[email protected]>; Michael Paquier <[email protected]>; Thomas Munro <[email protected]>; pgsql-hackers <[email protected]> On Feb 12, 2026, at 14:04, Tom Lane <[email protected]> wrote: > Now I'm wondering exactly what libabigail releases crake and baza > are using. Baza has 2.2.0, installed from Bookworm packaging. I can see about upgrading it this weekend, either building from source or making a new VM with Trixie. D Attachments: [application/pgp-signature] signature.asc (833B, 2-signature.asc) download ^ permalink raw reply [nested|flat] 10+ messages in thread
end of thread, other threads:[~2026-02-13 14:23 UTC | newest] Thread overview: 10+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-02-06 05:09 pgsql: Add file_extend_method=posix_fallocate,write_zeros. Thomas Munro <[email protected]> 2026-02-06 05:09 pgsql: Add file_extend_method=posix_fallocate,write_zeros. Thomas Munro <[email protected]> 2026-02-06 05:09 pgsql: Add file_extend_method=posix_fallocate,write_zeros. Thomas Munro <[email protected]> 2026-02-06 11:30 ` Michael Paquier <[email protected]> 2026-02-06 12:57 ` Thomas Munro <[email protected]> 2026-02-12 12:02 ` Peter Eisentraut <[email protected]> 2026-02-12 15:53 ` Tom Lane <[email protected]> 2026-02-12 19:04 ` Tom Lane <[email protected]> 2026-02-13 14:23 ` David E. Wheeler <[email protected]> 2026-02-06 05:10 pgsql: Add file_extend_method=posix_fallocate,write_zeros. Thomas Munro <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox