diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 4a989df4f9..c369229635 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1028,14 +1028,14 @@ sysctl -w kern.sysv.shmall
- Solaris>
+ Solaris> 2.6 to 2.9 (Solaris
+ 6 to Solaris 9)
Solaris>IPC configuration>>
- At least in version 2.6, the default maximum size of a shared
- memory segment is too low for PostgreSQL>. The
- relevant settings can be changed in /etc/system>,
- for example:
+ The default maximum size of a shared memory segment is too low for
+ PostgreSQL>. The relevant settings can be changed in
+ /etc/system>, for example:
set shmsys:shminfo_shmmax=0x2000000
set shmsys:shminfo_shmmin=1
@@ -1047,14 +1047,59 @@ set semsys:seminfo_semmni=512
set semsys:seminfo_semmns=512
set semsys:seminfo_semmsl=32
- You need to reboot for the changes to take effect.
+ You need to reboot for the changes to take effect. See also
+
+ for information on shared memory under older versions of Solaris.
+
+
+
+
+
+ Solaris> 2.10 (Solaris
+ 10)
+ OpenSolaris>
+ Solaris>IPC configuration>>
+
+
+ In Solaris 10 and OpenSolaris, the default shared memory and
+ semaphore settings are good enough for most
+ PostgreSQL> applications. Solaris now defaults
+ to a SHMMAX> of one-quarter of system RAM>. If
+ you need to increase this in order to set shared memory settings
+ slightly higher, you should use a project setting associated
+ with the postgres> user. For example, run the
+ following as root>:
+
+projadd -c "PostgreSQL DB User" -K "project.max-shm-memory=(privileged,8GB,deny)" -U postgres -G postgres user.postgres
+
- See also >
- for information on shared memory under
- Solaris>.
+ This command adds the user.postgres> project and
+ raises the shared memory maximum for the postgres>
+ user to 8GB, and takes effect the next time that user logs
+ in, or when you restart PostgreSQL> (not reload).
+ The above assumes that PostgreSQL> is run by
+ the postgres> user in the postgres>
+ group. No server reboot is required.
+
+
+
+ Other recommended kernel setting changes for database servers which will
+ have a large number of connections are:
+
+project.max-shm-ids=(priv,32768,deny)
+project.max-sem-ids=(priv,4096,deny)
+project.max-msg-ids=(priv,4096,deny)
+
+
+
+
+ Additionally, if you are running PostgreSQL>
+ inside a zone, you may need to raise the zone resource usage
+ limits as well. See "Chapter2: Projects and Tasks" in the
+ Solaris 10 System Administrator's Guide> for more
+ information on projects> and prctl>.