Updated version of FAQ_Solaris
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
+
+
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?
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Zdenek, Bruce,
Has anyone updated the Solaris portion of runtime.sgml yet?
--
--Josh
Josh Berkus
PostgreSQL @ Sun
San Francisco
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. +
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/
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