Posted Sep 29, 2009 9:21 UTC (Tue) by nix (subscriber, #2304)
[Link]
Yes. I don't really know why databases use SysV SHM: the API for all the SysV stuff is so cracksmoking and unpleasant and non-Unixlike. I suppose POSIX shared memory functions didn't exist when PostgreSQL was young, and mmap() of /dev/null wasn't very portable at that point... so maybe it's just history.
The realtime preemption mini-summit
Posted Sep 29, 2009 14:58 UTC (Tue) by flewellyn (subscriber, #5047)
[Link]
Well, the SysV stuff for a lot of things is unpleasant to work with. Still, it does work.
POSIX shmem in PostgreSQL
Posted Sep 29, 2009 19:50 UTC (Tue) by alvherre (subscriber, #18730)
[Link]
It's not just history. In fact, a patch was posted to add support for POSIX shmem, but as it turns out, the POSIX API is not complete enough for PostgreSQL's purposes. See here, for instance: http://archives.postgresql.org/pgsql-patches/2007-02/msg0...
POSIX shmem in PostgreSQL
Posted Sep 29, 2009 22:47 UTC (Tue) by alvherre (subscriber, #18730)
[Link]
BTW, mmap does not work either.
POSIX shmem in PostgreSQL
Posted Sep 30, 2009 15:14 UTC (Wed) by nix (subscriber, #2304)
[Link]
Oh, curses. We need a POSIX syscall that does what lsof/fuser do, really.