i will be working on that next week.

2008/11/18 Peter Eisentraut <[EMAIL PROTECTED]>:
> Peter Eisentraut wrote:
>>>
>>> I have new things to add, specially for Open Solaris plattaform
>>> specifications. I can write a new FAQ or just concatenate to this the
>>> other
>>> features of OSolaris?
>>
>> In my opinion, the platform FAQs should be scrapped and the information
>> should be placed into the real documentation at the appropriate places.
>
> Here is a beginning patch of what I am planning to do with the platform FAQs
> in terms of getting it integrated into the main documentation.  If you don't
> like where this is going, please speak up.
>
> Index: doc/src/sgml/installation.sgml
> ===================================================================
> RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
> retrieving revision 1.313
> diff -u -3 -p -r1.313 installation.sgml
> --- doc/src/sgml/installation.sgml      5 Sep 2008 12:11:18 -0000
> 1.313
> +++ doc/src/sgml/installation.sgml      18 Nov 2008 10:18:03 -0000
> @@ -2001,8 +2001,9 @@ kill `cat /usr/local/pgsql/data/postmast
>    FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, IRIX, Solaris, Tru64
> Unix,
>    and UnixWare.  Other Unix-like systems may also work but are not
> currently
>    being tested.  In most cases, all CPU architectures supported by
> -   a given operating system will work.  Look in the <filename>doc/</>
> -   directory of the source distribution to see if there is a FAQ document
> +   a given operating system will work.  Look in
> +   the <xref linkend="installation-platform-notes"> below to see if
> +   there is information
>    specific to your operating system, particularly if using an older system.
>   </para>
>
> @@ -2011,9 +2012,202 @@ kill `cat /usr/local/pgsql/data/postmast
>    to be supported according to recent build farm results, please report
>    it to <email>[EMAIL PROTECTED]</email>.  If you are interested
>    in porting <productname>PostgreSQL</> to a new platform,
> -   <email>[EMAIL PROTECTED]</email> is the appropriate place
> +   <email>[EMAIL PROTECTED]</email> is the appropriate place
>    to discuss that.
>   </para>
>  </sect1>
>
> + <sect1 id="installation-platform-notes">
> +  <title>Platform-Specific Notes</title>
> +
> +  <sect2 id="installation-notes-solaris">
> +   <title>Solaris</title>
> +
> +   <sect3>
> +    <title>Required tools</title>
> +
> +    <para>
> +     To build and install PostgreSQL on Solaris, you will need
> +     <itemizedlist>
> +      <listitem><para>gzip (for installing the
> documentation)</para></listitem>
> +      <listitem><para>GNU Make</para></listitem>
> +      <listitem><para>GNU Readline library (optional)</para></listitem>
> +      <listitem><para>Sun Studio CC or GCC</para></listitem>
> +     </itemizedlist>
> +
> +     You can download Sun Studio
> +     from <ulink
> url="http://developers.sun.com/sunstudio/downloads/";></ulink>.
> +     Many of GNU tools are integrated into Solaris 10, or they are
> +     present on the Solaris companion CD.  If you like packages for
> +     older version of Solaris, you can find these tools
> +     at <ulink url="http://www.sunfreeware.com";></ulink>
> +     or <ulink url="http://www.blastwave.org";></ulink>.  If you prefer
> +     sources, look
> +     at <ulink url="http://www.gnu.org/order/ftp.html";></ulink>.
> +    </para>
> +
> +    <para>
> +     You can build with either GCC or Sun's compiler suite.  For
> +     better code optimization, Sun's compiler is strongly recommended
> +     on the SPARC architecture.  We have heard reports of problems
> +     when using GCC 2.95.1; gcc 2.95.3 or later is recommended.  If
> +     you are using Sun's compiler, be careful not to select
> +     <filename>/usr/ucb/cc</filename>;
> +     use <filename>/opt/SUNWspro/bin/cc</filename>.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>Problems with OpenSSL</title>
> +
> +    <para>
> +     When you build PostgreSQL with OpenSSL support you might get
> +     compilation errors in the following files:
> +     <itemizedlist>
> +
>  
> <listitem><para><filename>src/backend/libpq/crypt.c</filename></para></listitem>
> +
>  
> <listitem><para><filename>src/backend/libpq/password.c</filename></para></listitem>
> +
>  
> <listitem><para><filename>src/interfaces/libpq/fe-auth.c</filename></para></listitem>
> +
>  
> <listitem><para><filename>src/interfaces/libpq/fe-connect.c</filename></para></listitem>
> +     </itemizedlist>
> +
> +     This is because of a namespace conflict between the standard
> +     <filename>/usr/include/crypt.h</filename> header and the header
> +     files provided by OpenSSL.
> +    </para>
> +
> +    <para>
> +     Upgrading your OpenSSL installation to version 0.9.6a fixes this
> +     problem.  Solaris 9 and above has a newer version of OpenSSL.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>configure complains about a failed test program</title>
> +
> +    <para>
> +     If configure complains about a failed test program, this is
> +     probably a case of the run-time linker being unable to find some
> +     library, probably libz, libreadline or some other non-standard
> +     library such as libssl.  To point it to the right location, set
> +     the <envar>LDFLAGS</envar> environment variable, e.g.,
> +<programlisting>
> +LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
> +export LDFLAGS
> +</programlisting>
> +     and restart configure.  See
> +     the <citerefentry><refentrytitle>ld</><manvolnum>1</></citerefentry>
> +     man page for more information.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>64-bit build sometimes crashes</title>
> +
> +    <para>
> +     On Solaris 7 and older, the 64-bit version of libc has a buggy
> +     <function>vsnprintf</function> routine, which leads to erratic
> +     core dumps in PostgreSQL.  The simplest known workaround is to
> +     force PostgreSQL to use its own version of vsnprintf rather than
> +     the library copy.  To do this, after you
> +     run <command>configure</command> edit a file produced by
> +     <command>configure</command>:
> +     In <filename>src/Makefile.global</filename>, change the line
> +<programlisting>
> +LIBOBJS =
> +</programlisting>
> +     to read
> +<programlisting>
> +LIBOBJS = snprintf.o
> +</programlisting>
> +     (There might be other files already listed in this variable.
> +     Order does not matter.)  Then build as usual.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>Compiling for optimal performance</title>
> +
> +    <para>
> +     On the SPARC architecture, Sun Studio is strongly recommended for
> +     compilation.  Try using the <option>-xO5</option> optimization
> +     flag to generate significantly faster binaries.  Do not use any
> +     flags that modify behavior of floating-point operations
> +     and <varname>errno</varname> processing (e.g.,
> +     <option>-fast</option>).  These flags could raise some
> +     nonstandard PostgreSQL behavior for example in the date/time
> +     computing.
> +    </para>
> +
> +    <para>
> +     If you do not have a reason to use 64-bit binaries on SPARC,
> +     prefer the 32-bit version.  The 64-bit operations are slower and
> +     64-bit binaries are slower than the 32-bit variants.  And on
> +     other hand, 32-bit code on the AMD64 CPU family is not native,
> +     and that is why 32-bit code is significant slower on this CPU
> +     family.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>Solaris packages</title>
> +
> +    <para>
> +     PostgreSQL is bundled with Solaris 10 (from update 2).  Official
> +     packages are also available on
> +     <ulink url="http://pgfoundry.org/projects/solarispackages/";></ulink>.
> +     Packages for older Solaris versions (8, 9) you can be obtained
> +     from <ulink url="http://www.sunfreeware.com/";></ulink> or
> +     <ulink url="http://www.blastwave.org/";></ulink>.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>Performance tuning</title>
> +
> +    <para>
> +     Some tricks for tuning PostgreSQL and Solaris for performance can
> +     be found
> +     at <ulink
> url="http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp";></ulink>.
> +     This article is primary focused on T2000 platform, but many of
> +     the recommendations are also useful on other hardware with
> +     Solaris.
> +    </para>
> +   </sect3>
> +
> +   <sect3>
> +    <title>Using DTrace for tracing PostgreSQL</title>
> +
> +    <para>
> +     Yes, using DTrace is possible.  See <xref linkend="monitoring">
> +     for further information.  You can also find more information in
> +     this
> +     article: <ulink
> url="http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in";></ulink>.
> +    </para>
> +
> +    <para>
> +     If you see the linking of the postgres executable abort with an
> +     error message like
> +<screen>
> +Undefined                       first referenced
> + symbol                             in file
> +AbortTransaction                    utils/probes.o
> +CommitTransaction                   utils/probes.o
> +ld: fatal: Symbol referencing errors. No output written to postgres
> +collect2: ld returned 1 exit status
> +gmake: *** [postgres] Error 1
> +</screen>
> +     your DTrace installation is too old to handle probes in static
> +     functions.  You need Solaris 10u4 or newer.  A workaround is to
> +     remove the
> +     <literal>static</literal> key word from the function declarations
> +     of <function>AbortTransaction</function>
> +     and <function>CommitTransaction</function>
> +     in <filename>src/backend/access/transam/xact.c</filename>.  See
> +     also <ulink
> url="http://sunsolve.sun.com/search/document.do?assetkey=1-1-2139224-1";></ulink>
> +     (registration required).
> +    </para>
> +   </sect3>
> +  </sect2>
> + </sect1>
> +
>  </chapter>
>
>



-- 
    Emanuel Calvo Franco
   Syscope Postgresql DBA
     BaPUG / AOSUG Member
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a