Hi, (sorry for sending this twice to you Noah, forgot -hackers the first time round)
We've had a bunch of changes to manually deal with our alignment code not understanding AIX alignment. commit f3b421da5f4addc95812b9db05a24972b8fd9739 Author: Peter Eisentraut <pete...@gmx.net> Date: 2016-12-21 12:00:00 -0500 Reorder pg_sequence columns to avoid alignment issue commit 79b716cfb7a1be2a61ebb4418099db1258f35e30 Author: Amit Kapila <akap...@postgresql.org> Date: 2022-04-07 09:39:25 +0530 Reorder subskiplsn in pg_subscription to avoid alignment issues. A good explanation of the problem is in https://postgr.es/m/20220402081346.GD3719101%40rfd.leadboat.com I strikes me as a remarkably bad idea to manually try to maintain the correct alignment. Even with the tests added it's still quite manual and requires contorted struct layouts (see e.g. [1]). I think we should either teach our system the correct alignment rules or we should drop AIX support. If we decide we want to continue supporting AIX we should bite the bullet and add a 64bit-int TYPALIGN_*. It might be worth to translate that to bytes when building tupledescs, so we don't need more branches (reducing them compared to today). Personally I think we should just drop AIX. The amount of effort to keep it working is substantial due to being quite different from other unices ([2]), the is very outdated, the whole ecosystem is barely on lifesupport ([3]). And all of that for very little real world use. Afaics we don't have access to an up2date AIX system. Some of have access to 7.2 via the gcc compile farm, but not 7.3. Most other niche-y operating systems we can start in a VM, but I've yet to see a legal and affordable way to do that with AIX. I think Noah has done quite a heroic effort at keeping the AIX animals in a kind-of-healthy state, but without more widespread access and more widespread usage it seems like a doomed effort. Greetings, Andres Freund [1] https://www.postgresql.org/message-id/CAFiTN-uiAngcW50Trwa94F1EWY2BxEx%2BB38QSyX3DtV3dzEGhA%40mail.gmail.com [2] linking etc is handled entirely different, so there's a fair bit of dedicated AIX code around the buildsystem - a lot of it vestigial stuff, see references to aix3.2.5 etc. [3] 7.2 was released in 2015-10-05, 7.3 in 2021-12-10, the set of changes is pretty darn small for that timeframe https://www.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS221-328&appname=USN Bull / Atos stopped their AIX work in 2022-03-01 - unfortunately they didn't even keep the announcement of that online. https://www.linkedin.com/pulse/said-say-bull-closing-down-aix-open-source-platform-michaelis https://github.com/power-devops/bullfreeware