mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
166 lines
4.3 KiB
Plaintext
166 lines
4.3 KiB
Plaintext
=======================================================
|
|
Frequently Asked Questions (FAQ) for PostgreSQL V6.5
|
|
Sun Solaris Specific
|
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
|
=======================================================
|
|
last updated: Thu Sep 21 9:30:00 CET 1999
|
|
|
|
current maintainer: Marc Liyanage (liyanage@access.ch)
|
|
original author: Marc Liyanage (liyanage@access.ch)
|
|
|
|
|
|
|
|
Contents:
|
|
|
|
1.1) What tools do I need to build and install PostgreSQL on Solaris?
|
|
1.2) What else do I have to do before building PostgreSQL?
|
|
1.3) Why am I getting "IpcMemoryCreate" errors when I try
|
|
to run postmaster?
|
|
1.4) Why am I getting "Can't tell what username to use" errors
|
|
when I try to run initdb?
|
|
|
|
A) Contributors
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
- The commands given here are for the bash shell. If you use
|
|
a different shell, you'll have to change the commands accordingly,
|
|
especially these regarding environment variables.
|
|
|
|
- These instructions are written for Solaris 2.6
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
Section 1: Building and Installing PostgreSQL
|
|
----------------------------------------------------------------------
|
|
|
|
1.1) What tools do I need to build and install PostgreSQL on Solaris?
|
|
|
|
You will need
|
|
|
|
- GNU flex 2.5.4 or better (the lex included in Solaris 2.6 won't work)
|
|
- GNU bison (the yacc included in Solaris 2.6 won't work)
|
|
- GNU zip (gzip and especially zcat for installing the docs)
|
|
- GNU make
|
|
- GNU readline library
|
|
|
|
We also used
|
|
|
|
- GNU cc (gcc 2.8.1)
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
1.2) What else do I have to do before building PostgreSQL?
|
|
|
|
Shared libraries
|
|
----------------
|
|
|
|
The default installation procedure puts the shared libraries
|
|
into "/usr/local/pgsql/lib", but the dynamic loader won't
|
|
find them there at runtime unless you use some hack like
|
|
symlinking the libraries in /usr/lib or setting LD_LIBRARY_PATH
|
|
for every user that will use the DB system.
|
|
|
|
The first time you'll encounter this problem is usually when
|
|
running "initdb". It will fail with something like
|
|
|
|
ld.so.1: pg_id: fatal: libpq.so: open failed: No such file or directory
|
|
|
|
We recommend that you store the path of the directory containing
|
|
the libraries in the environment variable LD_RUN_PATH *before*
|
|
starting the build. This will cause the linker to store this
|
|
path in the binaries.
|
|
|
|
Do this:
|
|
|
|
# export LD_RUN_PATH=/usr/local/pgsql/lib
|
|
|
|
(or wherever you choose to put the libraries)
|
|
|
|
There is some good information about this here:
|
|
http://www.visi.com/~barr/ldpath.html
|
|
|
|
|
|
zcat
|
|
----
|
|
|
|
If
|
|
|
|
- both the original solaris zcat as well as the recommended
|
|
GNU zcat are installed on the system (e.g. the former in /usr/bin and
|
|
the latter in /usr/local/bin) and
|
|
- configure (or "which zcat") finds the wrong one
|
|
|
|
then configure needs to be told where GNU zcat can be found.
|
|
|
|
Failure to do so will cause configure to select the wrong one
|
|
and the "gmake install" command in the "doc" subdirectory
|
|
(step 12 in the INSTALL file) will fail because Solaris
|
|
zcat cannot handle the .gz compressed documentation files.
|
|
|
|
To fix this, type
|
|
|
|
# export GZCAT=/usr/local/bin/zcat
|
|
|
|
(or wherever your GNU zcat lives)
|
|
|
|
before running configure.
|
|
|
|
|
|
|
|
|
|
1.3) Why am I getting "IpcMemoryCreate" errors when I try
|
|
to run the postmaster?
|
|
|
|
(See also 3.4 in the main FAQ file)
|
|
|
|
Under Solaris 2.6 and probably others, the default shared memory
|
|
maximum segment size kernel parameter is set too low. The solution
|
|
is to put something like the following line into /etc/system and
|
|
reboot the system.
|
|
|
|
set shmsys:shminfo_shmmax=0x7fffffff
|
|
|
|
Excellent info regarding shared memory under Solaris can be found here:
|
|
http://www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html
|
|
|
|
|
|
|
|
|
|
1.4) Why am I getting "Can't tell what username to use" errors
|
|
when I try to run initdb?
|
|
|
|
Put something like this into the .bash_profile startup script
|
|
of the postgres user (see also step 17 in the INSTALL file):
|
|
|
|
export USER=postgres
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
Section A: Contributors
|
|
----------------------------------------------------------------------
|
|
|
|
- Jose Luis Rodriguez Garcia
|
|
Suggested to change the shmmax parameter in 1.3 from 0xffffffff to 0x7fffffff
|
|
because the value is a signed integer in Solaris versions prior to 2.6.
|
|
|
|
|
|
|