Default to dynamic_shared_memory_type=sysv on Solaris.
authorThomas Munro
Sat, 2 Jul 2022 04:06:47 +0000 (16:06 +1200)
committerThomas Munro
Sat, 2 Jul 2022 04:23:39 +0000 (16:23 +1200)
commit94ebf8117c93f19218e60eb24f3f6bd09b796767
tree19a4c97538728194dd8a32d546550df5adb6c91f
parent0507977aa4a356052ea0e5da209162e4b2125c1d
Default to dynamic_shared_memory_type=sysv on Solaris.

POSIX shm_open() can sleep for a long time and fail spuriously because
of contention on an internal lock file on Solaris (and presumably
illumos).  Commit 389869af fixed the main problem with this, namely that
we could crash, but it's now clear that "posix" is not a good default.

Therefore, choose "sysv" at initdb time on Solaris and illumos.  Other
choices are still available by editing the postgresql.conf file.

Back-patch only to 15, because contention is much less likely further
back, and it doesn't seem like a good idea to change this in released
branches.  This should clear up the failures on build farm animal
margay.

Discussion: https://postgr.es/m/CA%2BhUKGKqKrCV5xKWfh9rnm%3Do%3DDwZLTLtnsj_XpUi9g5%3DV%2B9oyg%40mail.gmail.com
doc/src/sgml/config.sgml
src/backend/utils/misc/postgresql.conf.sample
src/bin/initdb/initdb.c