]> granicus.if.org Git - postgresql/commitdiff
Update Solaris FAQ.
authorBruce Momjian <bruce@momjian.us>
Wed, 4 Oct 2006 22:03:22 +0000 (22:03 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 4 Oct 2006 22:03:22 +0000 (22:03 +0000)
Zdenek Kotala

doc/FAQ_Solaris

index 22bf71612e4173eab0b506c28021256f3a34d052..5ae45aa61fb797c0346e4eab6d7dcb5644617f37 100644 (file)
@@ -3,9 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
 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>
+last updated:        $Date: 2006/10/04 22:03:22 $
 
 
 Contents:
@@ -15,6 +13,10 @@ Contents:
 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,18 +25,27 @@ You will need
 - GNU zip (for installing the documentation)
 - GNU make
 - GNU readline library (optional)
-- GCC (if you don't have Sun's compiler)
+- Sun Studio CC or GCC   
+
+You can download Sun Studio from: 
+http://developers.sun.com/prodtech/cc/downloads/index.jsp
 
-If you like Solaris packages, you can find these tools here:
-http://www.sunfreeware.com
+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.  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.
+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,15 +64,17 @@ This is because of a namespace conflict between the standard
 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
-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.,
+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/local/lib:/usr/local/ssl/lib
+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,3 +101,77 @@ to read
 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
+
+