Re: Relation bulk write facility - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Relation bulk write facility
Date
Msg-id CA+hUKGLuG2s4-+4DH+JDJh0CiSGU8SbGfK1ZXYWkMQS7iHdGxw@mail.gmail.com
Whole thread Raw
In response to Re: Relation bulk write facility  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Relation bulk write facility
List pgsql-hackers
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
cando 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



pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Relation bulk write facility
Next
From: Tom Lane
Date:
Subject: Re: Optimize planner memory consumption for huge arrays