System V> IPC> Parameters
|
Name>
Description>
- Reasonable values>
+
Values needed to run one PostgreSQL> instance>
|
SHMMAX>>
Maximum size of shared memory segment (bytes)>
- at least 1kB (more if running many copies of the server)
+ at least 1kB, but the default is usually much higher
|
|
SHMALL>>
Total amount of shared memory available (bytes or pages)>
- if bytes, same as SHMMAX; if pages, ceil(SHMMAX/PAGE_SIZE)>
+ same as SHMMAX if bytes,
+ or ceil(SHMMAX/PAGE_SIZE) if pages,
+ plus room for other applications>
|
|
SEMMNI>>
Maximum number of semaphore identifiers (i.e., sets)>
- at least ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16)>
+ at least ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16) plus room for other applications>
|
(typically 48 bytes, on 64-bit platforms) for each copy of the server.
On most modern operating systems, this amount can easily be allocated.
However, if you are running many copies of the server, or if other
- applications are also using System V shared memory, it may be necessary
- to increase SHMMAX>, the maximum size in bytes of a shared
- memory segment, or SHMALL>, the total amount of System V shared
+ applications are also using System V shared memory, it may be necessary to
+ increase SHMALL>, which is the total amount of System V shared
memory system-wide. Note that SHMALL> is measured in pages
rather than bytes on many systems.
+ When using System V semaphores,
PostgreSQL> uses one semaphore per allowed connection
(), allowed autovacuum worker process
() and allowed background
- The SEMMSL> parameter, which determines how many
- semaphores can be in a set, must be at least 17 for
+ Various other settings related to semaphore undo>, such as
+ SEMMNU> and SEMUME>, do not affect
- Various other settings related to semaphore undo>, such as
- SEMMNU> and SEMUME>, do not affect
+ When using POSIX semaphores, the number of semaphores needed is the
+ same as for System V, that is one semaphore per allowed connection
+ (), allowed autovacuum worker process
+ () and allowed background
+ process ().
+ On the platforms where this option is preferred, there is no specific
+ kernel limit on the number of POSIX semaphores.