Re: [PING] fallocate() causes btrfs to never compress postgresql files

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Jakub Wartak <jakub.wartak@enterprisedb.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, Dimitrios Apostolou <jimis@gmx.net>, Magnus Hagander <magnus@hagander.net>, Tomas Vondra <tomas@vondra.me>, pgsql-hackers@lists.postgresql.org, Andres Freund <andres@anarazel.de>, Melanie Plageman <melanieplageman@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, David Rowley <dgrowleyml@gmail.com>
Date: 2025-10-30T16:59:41Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add file_extend_method=posix_fallocate,write_zeros.

  2. Add smgrzeroextend(), FileZero(), FileFallocate()

On Thu, Oct 30, 2025 at 11:14:07AM +0100, Jakub Wartak wrote:
> On Thu, Oct 30, 2025 at 4:56 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> >
> > On Wed, Oct 29, 2025 at 4:31 AM Dimitrios Apostolou <jimis@gmx.net> wrote:
> > > Sorry to ping again, but was there a conclusion reached regarding adding the new file_extend_method setting?
> >
> > No objections appeared, so the conclusion I am drawing is that we
> > should do this,
> 
> Hi Thomas,
> 
> +1 to this GUCs as this would also help the nearby thread with XFS
> mysteries which are not fully solved [1]. Since the latest message in
> that discussion, I'm aware of at least one additional report of XFS
> failing at fallocate() with free space too, but without any details
> from the OS support vendor why that happened, so this $patch could be
> also used to workaround that problem too.

Uh, the problem with backpatching new GUCs is that the GUC variable will
_not_ appear in any postgresql.conf file until a new initdb is run. 
This can be quite confusing for people.  The minor release notes have to
explain this.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Do not let urgent matters crowd out time for investment in the future.