Updated version of FAQ_Solaris

Started by Zdenek Kotalaover 19 years ago6 messages
#1Zdenek Kotala
Zdenek.Kotala@Sun.COM
1 attachment(s)

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

Attachments:

FAQ_Solaris.difftext/x-patch; name=FAQ_Solaris.diffDownload
*** 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
+ 
+ 
#2Bruce Momjian
bruce@momjian.us
In reply to: Zdenek Kotala (#1)
Re: [HACKERS] Updated version of FAQ_Solaris

Patch applied. Thanks.

---------------------------------------------------------------------------

Zdenek Kotala wrote:

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

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#3Josh Berkus
josh@agliodbs.com
In reply to: Bruce Momjian (#2)
Re: [HACKERS] Updated version of FAQ_Solaris

Zdenek, Bruce,

Has anyone updated the Solaris portion of runtime.sgml yet?

--
--Josh

Josh Berkus
PostgreSQL @ Sun
San Francisco

#4Bruce Momjian
bruce@momjian.us
In reply to: Josh Berkus (#3)
Re: [HACKERS] Updated version of FAQ_Solaris

Josh Berkus wrote:

Zdenek, Bruce,

Has anyone updated the Solaris portion of runtime.sgml yet?

No, I was unaware it needed updating.

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Zdenek Kotala (#1)
Re: Updated version of FAQ_Solaris

Zdenek Kotala wrote:

+ 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.

This is contrary to the documentation of the dtrace command which says
that dtrace will automatically compile for the host environment. Please
explain.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#6Zdenek Kotala
Zdenek.Kotala@Sun.COM
In reply to: Peter Eisentraut (#5)
Re: Updated version of FAQ_Solaris

Peter Eisentraut napsal(a):

Zdenek Kotala wrote:

+ 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.

This is contrary to the documentation of the dtrace command which says
that dtrace will automatically compile for the host environment. Please
explain.

I'm sorry but I'm not understand what you mean. Please, Could you send
me a link to the dtrace documentation what you mention?

Zdenek