On Thu, Apr 17, 2014 at 8:04 AM, Alan Nilsson <anilsson@xxxxxxxxx> wrote:
Is it possible to allocate a small chunk of shared memory outside of any pools(i.e. manually alloced & de-alloced) that is visible to all processes? I would like a small amount to store a mutex and a condition variable that is accessible in a c function from any process. Is there an SPI/API to do this?
You can allocate a custom amount of shared memory at server initialization using the hook called shmem_startup_hook in ipci.c through a library loaded with shared_preload_libraries. Why not having a look at contrib/pg_stat_statements which is a good example?