Thanks Andrew for the response but I did not understand it.
Documentation here https://postgresqlco.nf/doc/en/param/dynamic_shared_memory_type/ says for `posix` value `shm_open` syscall should be generated which I don't see. Also I added logline in `postgres/src/backend/storage/ipc/dsm_impl.c` inside function `dsm_impl_op` to print `dynamic_shared_memory_type` value which printed 1 (DSM_IMPL_POSIX). but still strace doesn't show `shm_open` call.
On 2023-08-04 Fr 01:22, PG Bug reporting form wrote:
The following bug has been logged on the website:
Bug reference: 18049
Logged by: Jitender Kumar
Email address: jkr0103@gmail.com
PostgreSQL version: 12.1
Operating system: ubuntu 20.04
Description:
Expected `shm_open` syscall for the `posix` value of
`dynamic_shared_memory_type` parameter but strace shows `shm_get` being
executed.
src/backend/port/sysv_shmem. says: * As of PostgreSQL 9.3, we normally allocate only a very small amount of * System V shared memory, and only for the purposes of providing an * interlock to protect the data directory.
while src/backend/storage/ipc/dsm_impl.c says:
* This file provides low-level APIs for creating and destroying shared * memory segments using several different possible techniques. We refer * to these segments as dynamic because they can be created, altered, and * destroyed at any point during the server life cycle. This is unlike * the main shared memory segment, of which there is always exactly one * and which is always mapped at a fixed address in every PostgreSQL * background process.
So AIUI you should always see a call like this when Postgres starts.