OSDN Git Service

Add indenting to Solaris FAQ, for clarity.
authorBruce Momjian <bruce@momjian.us>
Thu, 5 Oct 2006 03:13:15 +0000 (03:13 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 5 Oct 2006 03:13:15 +0000 (03:13 +0000)
doc/FAQ_Solaris

index 5ae45aa..6a6e640 100644 (file)
@@ -1,9 +1,9 @@
 ============================================================
 Frequently Asked Questions (FAQ) for PostgreSQL
 Sun Solaris specific
-to be read in conjunction with the installation instructions
+To be read in conjunction with the installation instructions.
 ============================================================
-last updated:        $Date: 2006/10/04 22:03:22 $
+Last updated:        $Date: 2006/10/05 03:13:15 $
 
 
 Contents:
@@ -22,10 +22,10 @@ Contents:
 
 You will need
 
-- GNU zip (for installing the documentation)
-- GNU make
-- GNU readline library (optional)
-- Sun Studio CC or GCC   
+       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
@@ -35,66 +35,67 @@ 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
+
+       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.
+       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?
 
-When you build PostgreSQL with OpenSSL support you might get
-compilation errors in the following files:
+When you build PostgreSQL with OpenSSL support you might get compilation
+errors in the following files:
 
-src/backend/libpq/crypt.c
-src/backend/libpq/password.c
-src/interfaces/libpq/fe-auth.c
-src/interfaces/libpq/fe-connect.c
+       src/backend/libpq/crypt.c
+       src/backend/libpq/password.c
+       src/interfaces/libpq/fe-auth.c
+       src/interfaces/libpq/fe-connect.c
 
 This is because of a namespace conflict between the standard
 /usr/include/crypt.h header and the header files provided by OpenSSL.
 
 Upgrading your OpenSSL installation to version 0.9.6a fixes this
-problem.
-
-Solaris 9 and above already  newer version of OpenSSL.
+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
+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.,
 
-and restart configure.  You will also have to keep this setting
-whenever you run any of the installed PostgreSQL programs.
+       LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib
+       export LD_LIBRARY_PATH
 
-Alternatively, set the environment variable LD_RUN_PATH.  See the
-ld(1) man page for more information.
+and restart configure.  You will also have to keep this setting whenever
+you run any of the installed PostgreSQL programs.   Alternatively, set
+the environment variable LD_RUN_PATH.  See the ld(1) man page for more
+information.
 
 
 4) Why does my 64-bit build sometimes crash?
 
 On Solaris 7 and older, the 64-bit version of libc has a buggy vsnprintf
-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 'configure' edit a file
-produced by configure:
+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
+'configure' edit a file produced by configure:
 
 In src/Makefile.global, change the line
+
     LIBOBJS =
+
 to read
+
     LIBOBJS = snprintf.o
 
 (There might be other files already listed in this variable.  Order
@@ -105,42 +106,45 @@ 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. 
+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.
+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
+       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
+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
+
+       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.
@@ -149,29 +153,31 @@ 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.
+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' ...
+
+       $ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
             
 Using Sun compiler:
-$ configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64'
 
+       $ 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.
+If you have some problem with postgres linking, looks like:
 
-You can also find more information here:
-http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in
+       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