RE: AIX support

From: Aditya Kamath <Aditya(dot)Kamath1(at)ibm(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Noah Misch <noah(at)leadboat(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Srirama Kucherlapati <sriram(dot)rk(at)in(dot)ibm(dot)com>, "peter(at)eisentraut(dot)org" <peter(at)eisentraut(dot)org>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "hlinnaka(at)iki(dot)fi" <hlinnaka(at)iki(dot)fi>, "tristan(at)partin(dot)io" <tristan(at)partin(dot)io>, "postgres-ibm-aix(at)wwpdl(dot)vnet(dot)ibm(dot)com" <postgres-ibm-aix(at)wwpdl(dot)vnet(dot)ibm(dot)com>
Subject: RE: AIX support
Date: 2026-02-06 15:00:42
Message-ID: LV8PR15MB6488206CD8D294EC8F041FCED666A@LV8PR15MB6488.namprd15.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tom, Robert and community members,

>True. My point is that the AIX hardware available to our community
>is so slow as to make working on this patch quite unpleasant.
>If what OSUOSL has is not representative of typical AIX installations,
>why not, and could we have access to a machine that is?

Thank you for your patience.

We have provisioned access to a well‑configured node in the OSU lab (p9‑aix1‑postgres1), equipped with 4 processors and 8 SMT threads per processor. We updated the system configuration earlier today. Please share your public key so we can grant you access, and you can continue your testing on this machine. Let us know if you have any questions or if you need anything specific.

We’ve also resolved the issues in the GNU build, and we’re sharing the build-time and TAP test results collected on the p9‑aix1‑postgres1 node.

Since this system provides 32 hardware threads, you can safely use up to -j32 for parallel builds. Below are the timings for configure, make, and test runs (including TAP tests).

============================
time ./configure --enable-tap-tests --without-icu

config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c
config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c
config.status: linking src/include/port/aix.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.aix to src/Makefile.port

real 0m33.803s
user 0m7.474s
sys 0m2.453s
============================
time gmake world-bin -j 16
gmake[2]: Leaving directory '/home/buildusr/postgres/contrib/postgres_fdw'
gmake[1]: Leaving directory '/home/buildusr/postgres/contrib'

real 0m59.334s
user 1m41.210s
sys 0m10.013s

===========================

time gmake check-world -j 16
t/040_standby_failover_slots_sync.pl .. ok
t/041_checkpoint_at_promote.pl ........ skipped: Injection points not supported by this build
t/042_low_level_backup.pl ............. ok
t/043_no_contrecord_switch.pl ......... ok
t/044_invalidate_inactive_slots.pl .... skipped: Injection points not supported by this build
t/045_archive_restartpoint.pl ......... ok
t/046_checkpoint_logical_slot.pl ...... skipped: Injection points not supported by this build
t/047_checkpoint_physical_slot.pl ..... skipped: Injection points not supported by this build
t/048_vacuum_horizon_floor.pl ......... ok
t/049_wait_for_lsn.pl ................. ok
t/050_redo_segment_missing.pl ......... skipped: Injection points not supported by this build
t/051_effective_wal_level.pl .......... ok
All tests successful.
Files=50, Tests=584, 580 wallclock secs ( 0.15 usr 0.06 sys + 15.75 cusr 23.02 csys = 38.98 CPU)
Result: PASS
gmake[2]: Leaving directory '/home/buildusr/postgres/src/test/recovery'
gmake[1]: Leaving directory '/home/buildusr/postgres/src/test'

real 10m5.303s
user 2m1.573s
sys 1m50.873s

===========================

We also have a RAMFS directory configured in the same node.

Below are the test case results with RAMFS.

===========================

Configure time in RAMFS
time ./configure --enable-tap-tests --without-icu
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c
config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c
config.status: linking src/include/port/aix.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.aix to src/Makefile.port

real 0m33.371s
user 0m7.485s
sys 0m2.456s

=============================

time gmake world-bin -j 16
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -maix64 -fvisibility=hidden -o postgres_fdw.so connection.o deparse.o option.o postgres_fdw.o shippable.o -L../../src/port -L../../src/common -L../../src/interfaces/libpq -lpq -maix64 -Wl,-bbigtoc -shared -fvisibility=hidden -Wl,-bI:../../src/backend/postgres.imp
gmake[2]: Leaving directory '/postgres_build/postgres/contrib/postgres_fdw'
gmake[1]: Leaving directory '/postgres_build/postgres/contrib'

real 0m47.181s
user 1m22.055s
sys 0m7.948s

==================================

t/040_standby_failover_slots_sync.pl .. ok
t/041_checkpoint_at_promote.pl ........ skipped: Injection points not supported by this build
t/042_low_level_backup.pl ............. ok
t/043_no_contrecord_switch.pl ......... ok
t/044_invalidate_inactive_slots.pl .... skipped: Injection points not supported by this build
t/045_archive_restartpoint.pl ......... ok
t/046_checkpoint_logical_slot.pl ...... skipped: Injection points not supported by this build
t/047_checkpoint_physical_slot.pl ..... skipped: Injection points not supported by this build
t/048_vacuum_horizon_floor.pl ......... ok
t/049_wait_for_lsn.pl ................. ok
t/050_redo_segment_missing.pl ......... skipped: Injection points not supported by this build
t/051_effective_wal_level.pl .......... ok
All tests successful.
Files=50, Tests=584, 365 wallclock secs ( 0.14 usr 0.06 sys + 15.10 cusr 20.42 csys = 35.72 CPU)
Result: PASS
gmake[2]: Leaving directory '/postgres_build/postgres/src/test/recovery'
gmake[1]: Leaving directory '/postgres_build/postgres/src/test'

real 6m16.401s
user 1m51.771s
sys 1m35.747s

=======================

Thank you for your support. We really appreciate your guidance so far.

Have a nice day ahead.

Thanks and regards,
Aditya.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2026-02-06 15:08:27 Re: Adding REPACK [concurrently]
Previous Message Zsolt Parragi 2026-02-06 14:49:01 Re: CREATE TABLE LIKE INCLUDING TRIGGERS