Areas for Solaris support modernization
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-hackers@lists.postgresql.org
Cc: "Greg Burd" <greg@burd.me>
Date: 2026-03-02T02:05:08Z
Lists: pgsql-hackers
I notice that new BF member icarus (OpenIndiana/Illumos) has been sort of working in recent branches, but when it gets to trying to run a bunch of test scripts in parallel, it falls over with errors like 2026-03-01 15:00:29.746 EST [758322] FATAL: could not create semaphores: No space left on device 2026-03-01 15:00:29.746 EST [758322] DETAIL: Failed system call was semget(2575969, 17, 03600). I can reproduce that on a local OpenIndiana image. Now, we could tell people they need to increase SEMMNI/SEMMNS, but there's another answer: unnamed POSIX semaphores seem to work just fine, at least on recent OpenIndiana. (And the docs I can find suggest that Solaris has had them for decades.) So I think maybe we should add PREFERRED_SEMAPHORES=UNNAMED_POSIX as we just did for AIX. Also, while playing with said local OpenIndiana image, I noticed that ps_status.c isn't working: "ps auxww" shows all the child processes with the same command line as the postmaster. I thought maybe we'd diked out something important in d2ea2d310, but none of the code removed there claims to apply to Solaris. So maybe it never worked on Solaris? Anyway, there's room for improvement there if anyone cares to investigate. regards, tom lane
Commits
-
Switch the semaphore API on Solaris to unnamed POSIX.
- 0123ce131fca 19 (unreleased) landed
-
Fix aclitemout() to work during early bootstrap.
- 2eb87345e18e 19 (unreleased) landed