Robert Haas wrote:
> On Wed, Mar 2, 2011 at 2:46 PM, Josh Berkus <[email protected]> wrote:
> > On 3/2/11 8:35 AM, Robert Haas wrote:
> >> On Mon, Feb 7, 2011 at 1:47 PM, Josh Berkus <[email protected]> wrote:
> >>> Had to look up some stuff given the splintering of Solaris:
> >>>
> >>> ==================
> >>>
> >>> Solaris 2.6 to 2.9 (Solaris 6 to Solaris 9)
> >>>
> >>> ? ?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:
> >>
> >> What should we do with this material?
> >
> > Hmmm. ?I think there are probably still people using Solaris 9 out
> > there, but not very many.
> >
> > Maybe we should move obscure OSes to the wiki, and have a link to the
> > wiki in the docs?
>
> I've got no problem putting it in the docs; in fact, I'd prefer it.
> But it'd be a lot easier to put it there if this were in the form of a
> patch.
I did the markup and applied the attached doc patch.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
new file mode 100644
index 4a989df..c369229
*** a/doc/src/sgml/runtime.sgml
--- b/doc/src/sgml/runtime.sgml
*************** sysctl -w kern.sysv.shmall
*** 1028,1041 ****
<varlistentry>
! <term><systemitem class="osname">Solaris</></term>
<indexterm><primary>Solaris</><secondary>IPC configuration</></>
<listitem>
<para>
! At least in version 2.6, the default maximum size of a shared
! memory segment is too low for <productname>PostgreSQL</>. The
! relevant settings can be changed in <filename>/etc/system</>,
! for example:
<programlisting>
set shmsys:shminfo_shmmax=0x2000000
set shmsys:shminfo_shmmin=1
--- 1028,1041 ----
<varlistentry>
! <term><systemitem class="osname">Solaris</> 2.6 to 2.9 (Solaris
! 6 to Solaris 9)</term>
<indexterm><primary>Solaris</><secondary>IPC configuration</></>
<listitem>
<para>
! The default maximum size of a shared memory segment is too low for
! <productname>PostgreSQL</>. The relevant settings can be changed in
! <filename>/etc/system</>, for example:
<programlisting>
set shmsys:shminfo_shmmax=0x2000000
set shmsys:shminfo_shmmin=1
*************** set semsys:seminfo_semmni=512
*** 1047,1060 ****
set semsys:seminfo_semmns=512
set semsys:seminfo_semmsl=32
</programlisting>
! You need to reboot for the changes to take effect.
</para>
<para>
! See also <ulink
! url="http://sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html"></>
! for information on shared memory under
! <productname>Solaris</>.
</para>
</listitem>
</varlistentry>
--- 1047,1105 ----
set semsys:seminfo_semmns=512
set semsys:seminfo_semmsl=32
</programlisting>
! You need to reboot for the changes to take effect. See also
! <ulink url="http://sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html"></ulink>
! for information on shared memory under older versions of Solaris.
</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><systemitem class="osname">Solaris</> 2.10 (Solaris
+ 10)</term>
+ <term><systemitem class="osname">OpenSolaris</></term>
+ <indexterm><primary>Solaris</><secondary>IPC configuration</></>
+ <listitem>
<para>
! In Solaris 10 and OpenSolaris, the default shared memory and
! semaphore settings are good enough for most
! <productname>PostgreSQL</> applications. Solaris now defaults
! to a <varname>SHMMAX</> of one-quarter of system <acronym>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 <literal>postgres</> user. For example, run the
! following as <literal>root</>:
! <programlisting>
! projadd -c "PostgreSQL DB User" -K "project.max-shm-memory=(privileged,8GB,deny)" -U postgres -G postgres user.postgres
! </programlisting>
! </para>
!
! <para>
! This command adds the <literal>user.postgres</> project and
! raises the shared memory maximum for the <literal>postgres</>
! user to 8GB, and takes effect the next time that user logs
! in, or when you restart <productname>PostgreSQL</> (not reload).
! The above assumes that <productname>PostgreSQL</> is run by
! the <literal>postgres</> user in the <literal>postgres</>
! group. No server reboot is required.
! </para>
!
! <para>
! Other recommended kernel setting changes for database servers which will
! have a large number of connections are:
! <programlisting>
! project.max-shm-ids=(priv,32768,deny)
! project.max-sem-ids=(priv,4096,deny)
! project.max-msg-ids=(priv,4096,deny)
! </programlisting>
! </para>
!
! <para>
! Additionally, if you are running <productname>PostgreSQL</>
! inside a zone, you may need to raise the zone resource usage
! limits as well. See "Chapter2: Projects and Tasks" in the
! <citetitle>Solaris 10 System Administrator's Guide</> for more
! information on <literal>projects</> and <command>prctl</>.
</para>
</listitem>
</varlistentry>
--
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs