mirror of
https://github.com/postgres/postgres.git
synced 2025-05-19 00:04:06 -04:00
Update Solaris FAQ.
Zdenek Kotala
This commit is contained in:
parent
abcf7603c0
commit
6fa875d7ce
115
doc/FAQ_Solaris
115
doc/FAQ_Solaris
@ -3,9 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
|
|||||||
Sun Solaris specific
|
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/02 23:01:17 $
|
last updated: $Date: 2006/10/04 22:03:22 $
|
||||||
|
|
||||||
current maintainer: Peter Eisentraut <peter_e@gmx.net>
|
|
||||||
|
|
||||||
|
|
||||||
Contents:
|
Contents:
|
||||||
@ -15,6 +13,10 @@ Contents:
|
|||||||
3) Why does configure complain about a failed test program?
|
3) Why does configure complain about a failed test program?
|
||||||
4) Why does my 64-bit build sometimes crash?
|
4) Why does my 64-bit build sometimes crash?
|
||||||
5) How can I compile for optimum performance?
|
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?
|
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 zip (for installing the documentation)
|
||||||
- GNU make
|
- GNU make
|
||||||
- GNU readline library (optional)
|
- GNU readline library (optional)
|
||||||
- GCC (if you don't have Sun's compiler)
|
- Sun Studio CC or GCC
|
||||||
|
|
||||||
If you like Solaris packages, you can find these tools here:
|
You can download Sun Studio from:
|
||||||
http://www.sunfreeware.com
|
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:
|
If you prefer sources, look here:
|
||||||
http://www.gnu.org/order/ftp.html
|
http://www.gnu.org/order/ftp.html
|
||||||
|
|
||||||
You can build with either GCC or Sun's compiler suite. We have heard
|
You can build with either GCC or Sun's compiler suite. For better
|
||||||
reports of problems when using gcc 2.95.1; gcc 2.95.3 or later is
|
code optimalization Sun's compiler is strongly recommended on the
|
||||||
recommended. If you are using Sun's compiler, be careful *not* to
|
SPARC architecture. We have heard reports of problems when using
|
||||||
select /usr/ucb/cc; use /opt/SUNWspro/bin/cc.
|
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?
|
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
|
Upgrading your OpenSSL installation to version 0.9.6a fixes this
|
||||||
problem.
|
problem.
|
||||||
|
|
||||||
|
Solaris 9 and above already newer version of OpenSSL.
|
||||||
|
|
||||||
|
|
||||||
3) Why does configure complain about a failed test program?
|
3) Why does configure complain about a failed test program?
|
||||||
|
|
||||||
This is probably a case of the run-time linker being unable to find
|
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
|
some library. On solaris 8 and older it should be libz or some other
|
||||||
to the right location, set the LD_LIBRARY_PATH environment variable,
|
non-standard library, such as libssl. To point it to the right location,
|
||||||
e.g.,
|
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
|
export LD_LIBRARY_PATH
|
||||||
|
|
||||||
and restart configure. You will also have to keep this setting
|
and restart configure. You will also have to keep this setting
|
||||||
@ -88,3 +101,77 @@ to read
|
|||||||
does not matter.)
|
does not matter.)
|
||||||
|
|
||||||
Then build as usual.
|
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
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user