Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
f2332ea1
Commit
f2332ea1
authored
Oct 05, 2006
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add indenting to Solaris FAQ, for clarity.
parent
b680a1d9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
74 deletions
+80
-74
doc/FAQ_Solaris
doc/FAQ_Solaris
+80
-74
No files found.
doc/FAQ_Solaris
View file @
f2332ea1
============================================================
============================================================
Frequently Asked Questions (FAQ) for PostgreSQL
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/04 22:03:22
$
Last updated: $Date: 2006/10/05 03:13:15
$
Contents:
Contents:
...
@@ -22,10 +22,10 @@ Contents:
...
@@ -22,10 +22,10 @@ Contents:
You will need
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)
-
Sun Studio CC or GCC
Sun Studio CC or GCC
You can download Sun Studio from:
You can download Sun Studio from:
http://developers.sun.com/prodtech/cc/downloads/index.jsp
http://developers.sun.com/prodtech/cc/downloads/index.jsp
...
@@ -35,66 +35,67 @@ present on the Solaris companion CD.
...
@@ -35,66 +35,67 @@ present on the Solaris companion CD.
If you like packages for older version of Solaris, you can find these
If you like packages for older version of Solaris, you can find these
tools here:
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:
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
http://www.gnu.org/order/ftp.html
code optimalization Sun's compiler is strongly recommended on the
SPARC architecture. We have heard reports of problems when using
You can build with either GCC or Sun's compiler suite. For better code
gcc 2.95.1; gcc 2.95.3 or later is recommended. If you are using
optimalization Sun's compiler is strongly recommended on the SPARC
Sun's compiler, be careful *not* to select /usr/ucb/cc;
architecture. We have heard reports of problems when using gcc 2.95.1;
use /opt/SUNWspro/bin/cc.
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?
When you build PostgreSQL with OpenSSL support you might get
When you build PostgreSQL with OpenSSL support you might get
compilation
compilation
errors in the following files:
errors in the following files:
src/backend/libpq/crypt.c
src/backend/libpq/crypt.c
src/backend/libpq/password.c
src/backend/libpq/password.c
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-connect.c
This is because of a namespace conflict between the standard
This is because of a namespace conflict between the standard
/usr/include/crypt.h header and the header files provided by OpenSSL.
/usr/include/crypt.h header and the header files provided by OpenSSL.
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.
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 some
some library. On solaris 8 and older it should be libz or some other
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,
non-standard library, such as libssl. To point it to the right
set the LD_LIBRARY_PATH environment variable, e.g.,
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
LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib
whenever you run any of the installed PostgreSQL programs.
export LD_LIBRARY_PATH
Alternatively, set the environment variable LD_RUN_PATH. See the
and restart configure. You will also have to keep this setting whenever
ld(1) man page for more information.
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?
4) Why does my 64-bit build sometimes crash?
On Solaris 7 and older, the 64-bit version of libc has a buggy vsnprintf
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
routine, which leads to erratic core dumps in PostgreSQL. The simplest
workaround is to force PostgreSQL to use its own version of vsnprintf rather
known workaround is to force PostgreSQL to use its own version of
than the library copy. To do this, after you run 'configure' edit a file
vsnprintf rather than the library copy. To do this, after you run
produced by configure:
'configure' edit a file
produced by configure:
In src/Makefile.global, change the line
In src/Makefile.global, change the line
LIBOBJS =
LIBOBJS =
to read
to read
LIBOBJS = snprintf.o
LIBOBJS = snprintf.o
(There might be other files already listed in this variable. Order
(There might be other files already listed in this variable. Order
...
@@ -105,42 +106,45 @@ Then build as usual.
...
@@ -105,42 +106,45 @@ Then build as usual.
5) How can I compile for optimum performance?
5) How can I compile for optimum performance?
On SPARC architecture Sun Studio is strongly recommended for compilation.
On SPARC architecture Sun Studio is strongly recommended for
Try using -xO5 optimalization flag to generate significantly faster binaries.
compilation. Try using -xO5 optimalization flag to generate
Do not use any flags which modify behavior of floating point operations and
significantly faster binaries. Do not use any flags which modify
errno processing (e.g. -fast). These flags should raise some nonstandard
behavior of floating point operations and errno processing (e.g.
PostgreSQL behavior for example in the date/time computing.
-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.
If you do not reason to use 64-bit binaries on SPARC, prefer 32-bit
The 64-bit operations are slower and 64-bit binaries are slower then 32-bits.
version. The 64-bit operations are slower and 64-bit binaries are slower
And on other side a 32-bit code on the AMD64 CPU family is not native and
then 32-bits. And on other side a 32-bit code on the AMD64 CPU family is
that is why 32-bit code is significant slower on this CPU family.
not native and that is why 32-bit code is significant slower on this
CPU family.
6) How to compile PostgreSQL with Sun Studio?
6) How to compile PostgreSQL with Sun Studio?
On Solaris 10 you can performed following steps:
On Solaris 10 you can performed following steps:
export CC=/opt/SUNWspro/bin/cc
export CC=/opt/SUNWspro/bin/cc
export CFLAGS=-xO5
export CFLAGS=-xO5
export LDFLAGS=-lm
export LDFLAGS=-lm
./configure --without-readline
./configure --without-readline
gmake
gmake
7) Where I can download prepared Solaris packages?
7) Where I can download prepared Solaris packages?
The PostgreSQL is bundled with Solaris 10 (from update 2). Official
packages
The PostgreSQL is bundled with Solaris 10 (from update 2). Official
are too available on http://pgfoundry.org/projects/solarispackages/.
packages are too available on
http://pgfoundry.org/projects/solarispackages/. Packages for older
Packages for older Solaris version (8,9) you can download from:
Solaris version (8,9) you can download from: http://www.sunfreeware.com
http://www.sunfreeware.com
or http://www.blastwave.org
or http://www.blastwave.org
8) How to tune PostgreSQL and Solaris for best performance?
8) How to tune PostgreSQL and Solaris for best performance?
Some tuning tricks can be found here:
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
This article is primary focused on T2000 platform, however, many of
recommendations are general for other hardware with Solaris.
recommendations are general for other hardware with Solaris.
...
@@ -149,29 +153,31 @@ 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?
9) Can I use dtrace for tracing PostgreSQL?
The PostgreSQL 8.2 has implemented dtrace support. You can enable it by
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
the --enable-dtrace configure switch. If you want to compile a 64-bit
with dtrace you must specify DTRACEFLAGS='-64', e.g.
code
with dtrace you must specify DTRACEFLAGS='-64', e.g.
Using gcc compiler:
Using gcc compiler:
$ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
$ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
Using Sun compiler:
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:
Undefined first referenced
http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment