Default to dynamic_shared_memory_type=sysv on Solaris.
authorThomas Munro <tmunro@postgresql.org>
Sat, 2 Jul 2022 04:06:47 +0000 (16:06 +1200)
committerThomas Munro <tmunro@postgresql.org>
Sat, 2 Jul 2022 04:23:30 +0000 (16:23 +1200)
commita2b0719cc22d6f7fffa316b5da0fb5b22526c63e
tree258c0fe2b360892e319c8e436624f3983ba10a76
parent0806cd29be01c837bc2f6b07bf14fb6aa0f4ad80
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