Re: Relation bulk write facility

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Thomas Munro <thomas.munro@gmail.com>, Noah Misch <noah@leadboat.com>
Cc: Andres Freund <andres@anarazel.de>, Peter Smith <smithpb2250@gmail.com>, Robert Haas <robertmhaas@gmail.com>, vignesh C <vignesh21@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Melanie Plageman <melanieplageman@gmail.com>
Date: 2024-02-25T14:34:47Z
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. Relax fsyncing at end of a bulk load that was not WAL-logged

  2. Fix cross-version upgrade tests after f0827b443.

  3. Remove AIX support

  4. Fix compiler warning on typedef redeclaration

  5. Introduce a new smgr bulk loading facility.

Attachments

On 25/02/2024 00:37, Thomas Munro wrote:
> On Sun, Feb 25, 2024 at 11:16 AM Thomas Munro <thomas.munro@gmail.com> wrote:
>> On Sun, Feb 25, 2024 at 11:06 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>>> Regarding the issue at hand, perhaps we should define PG_IO_ALIGN_SIZE as 16 on AIX, if that's the best the linker can do on that platform.
>>
>> You'll probably get either an error or silently fall back to buffered
>> I/O, if direct I/O is enabled and you try to read/write a badly
>> aligned buffer.  That's documented (they offer finfo() to query it,
>> but it's always 4KB for the same sort of reasons as it is on every
>> other OS).
> 
> I guess it's the latter ("to work efficiently" sounds like it isn't
> going to reject the request):
> 
> https://www.ibm.com/docs/en/aix/7.3?topic=tuning-direct-io
> 
> If you make it < 4KB then all direct I/O would be affected, not just
> this one place, so then you might as well just not allow direct I/O on
> AIX at all, to avoid giving a false impression that it does something.
> (Note that if we think the platform lacks O_DIRECT we don't make those
> assertions about alignment).
> 
> FWIW I'm aware of one other thing that is wrong with our direct I/O
> support on AIX: it should perhaps be using a different flag.  I
> created a wiki page to defer thinking about any AIX issues
> until/unless at least one real, live user shows up, which hasn't
> happened yet:  https://wiki.postgresql.org/wiki/AIX

Here's a patch that effectively disables direct I/O on AIX. I'm inclined 
to commit this as a quick fix to make the buildfarm green again.

I agree with Andres though, that unless someone raises their hand and 
volunteers to properly maintain the AIX support, we should drop it. The 
current AIX buildfarm members are running AIX 7.1, which has been out of 
support since May 2023 
(https://www.ibm.com/support/pages/aix-support-lifecycle-information). 
See also older thread on this [0].

Noah, you're running the current AIX buildfarm animals. How much effort 
are you interested to put into AIX support?

[0] 
https://www.postgresql.org/message-id/20220702183354.a6uhja35wta7agew%40alap3.anarazel.de

-- 
Heikki Linnakangas
Neon (https://neon.tech)