Updated version of FAQ_Solaris - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Updated version of FAQ_Solaris
Date
Msg-id 4523FBBE.1030306@sun.com
Whole thread Raw
Responses Re: Updated version of FAQ_Solaris  (Bruce Momjian <bruce@momjian.us>)
Re: Updated version of FAQ_Solaris  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
I updated FAQ_Solaris. I added new information related to Solaris 10,
rewrote optimalization hints  and add information about dtrace. I talked
with Peter about "Current maintainer" role, and he said that this
information says anything and should be deleted.


    Please, let me know your comments

            Zdenek
*** pgsql-061004/doc/FAQ_Solaris    Tue Oct  3 01:01:17 2006
--- pgsql-060829/doc/FAQ_Solaris    Wed Oct  4 20:11:35 2006
***************
*** 3,13 ****
  Sun Solaris specific
  to be read in conjunction with the installation instructions
  ============================================================
! last updated:        $Date: 2006/10/02 23:01:17 $

- current maintainer:  Peter Eisentraut <peter_e@gmx.net>

-
  Contents:

  1) What tools do I need to build and install PostgreSQL on Solaris?
--- 3,11 ----
  Sun Solaris specific
  to be read in conjunction with the installation instructions
  ============================================================
! last updated:        $Date: 2003/10/09 17:11:13 $


  Contents:

  1) What tools do I need to build and install PostgreSQL on Solaris?
***************
*** 15,20 ****
--- 13,22 ----
  3) Why does configure complain about a failed test program?
  4) Why does my 64-bit build sometimes crash?
  5) How can I compile for optimum performance?
+ 6) How to compile PostgreSQL with Sun Studio?
+ 7) Where I can download prepared Solaris packages?
+ 8) How to tune PostgreSQL and Solaris for best performance?
+ 9) Can I use dtrace for tracing PostgreSQL?

  1) What tools do I need to build and install PostgreSQL on Solaris?

***************
*** 23,40 ****
  - GNU zip (for installing the documentation)
  - GNU make
  - GNU readline library (optional)
! - GCC (if you don't have Sun's compiler)

! If you like Solaris packages, you can find these tools here:
! http://www.sunfreeware.com

  If you prefer sources, look here:
  http://www.gnu.org/order/ftp.html

! You can build with either GCC or Sun's compiler suite.  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 /usr/ucb/cc; use /opt/SUNWspro/bin/cc.


  2) Why do I get problems when building with OpenSSL support?
--- 25,51 ----
  - GNU zip (for installing the documentation)
  - GNU make
  - GNU readline library (optional)
! - Sun Studio CC or GCC

! You can download Sun Studio from:
! http://developers.sun.com/prodtech/cc/downloads/index.jsp

+ Many of GNU tools are integrated into the 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 here:
+ http://www.sunfreeware.com or http://www.blastwave.org
+
  If you prefer sources, look here:
  http://www.gnu.org/order/ftp.html

! You can build with either GCC or Sun's compiler suite. For better
! code optimalization 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 /usr/ucb/cc;
! use /opt/SUNWspro/bin/cc.


  2) Why do I get problems when building with OpenSSL support?
***************
*** 53,67 ****
  Upgrading your OpenSSL installation to version 0.9.6a fixes this
  problem.


  3) Why does configure complain about a failed test program?

  This is probably a case of the run-time linker being unable to find
! libz or some other non-standard library, such as libssl.  To point it
! to the right location, set the LD_LIBRARY_PATH environment variable,
! e.g.,

! LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib
  export LD_LIBRARY_PATH

  and restart configure.  You will also have to keep this setting
--- 64,80 ----
  Upgrading your OpenSSL installation to version 0.9.6a fixes this
  problem.

+ Solaris 9 and above already  newer version of OpenSSL.

+
  3) Why does configure complain about a failed test program?

  This is probably a case of the run-time linker being unable to find
! some library. On solaris 8 and older it should be libz or some other
! non-standard library, such as libssl.  To point it to the right location,
! set the LD_LIBRARY_PATH environment variable, e.g.,

! LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib
  export LD_LIBRARY_PATH

  and restart configure.  You will also have to keep this setting
***************
*** 88,90 ****
--- 101,177 ----
  does not matter.)

  Then build as usual.
+
+
+ 5) How can I compile for optimum performance?
+
+ On SPARC architecture Sun Studio is strongly recommended for compilation.
+ Try using -xO5 optimalization flag to generate significantly faster binaries.
+ Do not use any flags which modify behavior of floating point operations and
+ errno processing (e.g. -fast). These flags should raise some nonstandard
+ PostgreSQL behavior for example in the date/time computing.
+
+ If you do not reason to use 64-bit binaries on SPARC, prefer 32-bit version.
+ The 64-bit operations are slower and 64-bit binaries are slower then 32-bits.
+ And on other side a 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.
+
+
+ 6) How to compile PostgreSQL with Sun Studio?
+
+ On Solaris 10 you can performed following steps:
+
+ export CC=/opt/SUNWspro/bin/cc
+ export CFLAGS=-xO5
+ export LDFLAGS=-lm
+ ./configure --without-readline
+ gmake
+
+
+ 7) Where I can download prepared Solaris packages?
+
+ The PostgreSQL is bundled with Solaris 10 (from update 2). Official packages
+ are too available on http://pgfoundry.org/projects/solarispackages/.
+
+ Packages for older Solaris version (8,9) you can download from:
+ http://www.sunfreeware.com or http://www.blastwave.org
+
+
+ 8) How to tune PostgreSQL and Solaris for best performance?
+
+ Some tuning tricks can be found here:
+ http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp
+
+ This article is primary focused on T2000 platform, however, many of
+ recommendations are general for other hardware with Solaris.
+
+
+ 9) Can I use dtrace for tracing PostgreSQL?
+
+ The PostgreSQL 8.2 has implemented dtrace support. You can enable it by
+ the --enable-dtrace configure switch. If you want to compile a 64-bit code
+ with dtrace you must specify DTRACEFLAGS='-64', e.g.
+
+ Using gcc compiler:
+ $ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
+
+ Using Sun compiler:
+ $ configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64'
+
+
+ If you have some problem with postgres linking, looks like:
+
+ 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
+
+ , check if you have Solaris 10u3 or newer installed on your box.
+
+ You can also find more information here:
+ http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in
+
+

pgsql-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: [PATCHES] DOC: catalog.sgml
Next
From: Benny Amorsen
Date:
Subject: Re: Faster StrNCpy