Re: POSIX shared memory support

Поиск
Список
Период
Сортировка
От Chris Marcellino
Тема Re: POSIX shared memory support
Дата
Msg-id D9BA8B9B-A1CF-44E9-9F7A-B166875AEABB@apple.com
обсуждение исходный текст
Ответ на Re: POSIX shared memory support  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: POSIX shared memory support  ("Joshua D. Drake" <jd@commandprompt.com>)
Re: POSIX shared memory support  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-patches
In case you haven't had enough, here is another version of the code
to make Postgres use POSIX shared memory. Along with the issues that
have already been addressed, this version ensures that orphaned
backends are not in the database when restarting Postgres by using a
single 1 byte SysV segment to see who is attached to the segment
using shmctl/IPC_STAT/nattach.

This effectively frees Postgres from the SHMMAX and SHMALL limits.
Since this still takes one SysV segment, SHMMNI can still be reached
on most platforms if a ton of databases are opened simultaneously
(i.e. 32 on Mac OS X, 256 on Linux and Solaris).

If you have the need to ship a product with Postgres embedded in it
and are unable to change kernel settings (like myself), this might be
of use to you. I have tested all of the failure situations I could
think of by various combinations of deleting lockfiles while in use,
changing the PID inside the lockfile and trying to restart and run
more than one postmaster simultaneously.

Of course, this since this requires both POSIX and SysV shared
memory, this doesn't increase the portability of Postgres which might
make it less appropriate for mass distribution; I thought I would put
it out there for any feedback either way.

Thanks again,
Chris Marcellino




Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: cosmetic patch to large object regression test
Следующее
От: Neil Conway
Дата:
Сообщение: resetStringInfo