Commit 76adc095 authored by Bruce Momjian's avatar Bruce Momjian

Remove HTML FAQ files that are really just text files.

parent b29f94fd
......@@ -2,8 +2,9 @@ This outlines modifications to BSD/OS for running PostgreSQL:
1) How to increase resource limits
2) How to increase the number of shared memory buffers
3) How to increasing the number of semaphores
Bruce Momjian (pgman@candle.pha.pa.us) 2000-06-09
Bruce Momjian (pgman@candle.pha.pa.us) 2000-07-7
---------------------------------------------------------------------------
......@@ -44,3 +45,35 @@ plus add 1 for every additional 4MB of shared memory you desire.
/sys/i386/i386/i386_param.c:28:#define SYSPTSIZE 0 /* dynamically...
sysptsize can not be changed by sysctl on the fly.
---------------------------------------------------------------------------
3) How to increasing the number of semaphores.
You may need to increase the number of sysv semaphores. By default,
PostgreSQL allocates 32 semaphores, one for each backend connection.
This is just over half the default system total of 60.
The defaults are in /sys/sys/sem.h:
/* Configuration parameters */
#ifndef SEMMNI
#define SEMMNI 10 /* # of semaphore identifiers */
#endif
#ifndef SEMMNS
#define SEMMNS 60 /* # of semaphores in system */
#endif
#ifndef SEMUME
#define SEMUME 10 /* max # of undo entries per process */
#endif
#ifndef SEMMNU
#define SEMMNU 30 /* # of undo structures in system */
#endif
Set the values you want in your kernel config file, e.g.:
options "SEMMNI=40"
options "SEMMNS=240"
options "SEMUME=40"
options "SEMMNU=120"
<PRE>
=======================================================
Frequently Asked Questions (FAQ) for PostgreSQL V6.5
HP-UX Specific
......@@ -172,4 +171,3 @@ Postgres 6.5 by not depending on the system versions of those routines.
Any other error is cause for suspicion. In particular, if you see
failures in the datetime test on HPUX 9, you probably forgot to
install the libm patch PHSS_4630 --- see item 1.1 above.
</PRE>
======================================================
Frequently Asked Questions (FAQ) for PostgreSQL >=V6.1
IRIX Specific
......
This diff is collapsed.
<PRE>
=======================================================
Frequently Asked Questions (FAQ) for PostgreSQL V6.4
HP-UX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=======================================================
last updated: Sat Nov 28 16:21:25 EST 1998
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
original author: Tom Lane (tgl@sss.pgh.pa.us)
Questions covered here:
1.1) What do I need to install PostgreSQL on HP-UX?
1.2) Anything special about the build/install procedure?
1.3) yacc dies trying to process src/backend/parser/gram.y.
1.4) Linking the main postgres executable fails, complaining that
there's no "alloca" function.
1.5) OK, it seemed to build and install, but the regression test fails.
----------------------------------------------------------------------
Section 1: Installing PostgreSQL
----------------------------------------------------------------------
1.1) What do I need to install PostgreSQL on HP-UX?
PostgreSQL 6.4 is known to build and pass regression test on HPUX 9.03,
9.05, and 10.20, given appropriate system patch levels and build tools.
It should work on other HPUX 9.* and 10.* releases for Series 700/800
machines, too. (No one has reported trying it with HPUX 11 yet.)
Since this is a new FAQ, I don't yet have a lot of information about the
exact prerequisites, but I'd appreciate hearing from anyone who fails to
build a working copy, so that we can add more info about exactly what is
needed.
Aside from PostgreSQL 6.4 or later sources, you will need GNU make
(HP's make will not do), and either GNU gcc or HP's full ANSI C compiler.
You must also get flex (GNU lex) 2.5.4 or later --- all versions of
HP's lex fail on the Postgres lexer files.
I'd also recommend making sure you are fairly up-to-date on HP patches,
particularly if you are using HPUX 9. At a minimum, if you are on HPUX 9,
you *must* have PHSS_4630 (libm update) or a successor patch; otherwise
Postgres' date/time functions will misbehave. On general principles you
should be current on libc and ld/dld patches, as well as compiler
patches if you are using HP's C compiler (but I don't currently know of
any specific failures due to not having recent patches for these files).
See HP's support websites, such as http://us-support.external.hp.com/,
for free copies of their latest patches.
PostgreSQL 6.3.2 and earlier required quite a few small tweaks to
install on HPUX, so I recommend you not bother with anything older
than 6.4.
1.2) Anything special about the build/install procedure?
When you run configure, you will want to explicitly select either the
hpux_cc or hpux_gcc template depending on which compiler you plan to
use:
./configure --with-template=hpux_cc
for HP's C compiler, or
./configure --with-template=hpux_gcc
for GNU gcc. (If you omit --with-template, configure may either
default to hpux_cc or give up entirely, depending on which HPUX and
PostgreSQL releases you have.)
You may want to tweak the CFLAGS setting in template/hpux_[g]cc before
you configure; the distributed files contain neither -O nor -g switches,
which is hardly optimal for any situation. I've seen no problems using
-O with gcc 2.7.2.*.
The default install target location is /usr/local/pgsql, which
(particularly on HPUX 10) you might want to change to something under
/opt. If so, use the --prefix switch to configure.
If you have both HP and GNU C++ compilers in your PATH, keep an eye on
whether configure picks the right one --- you want the HP c++ if you are
using HP C, or g++ if you are using gcc. Mixing HP and GNU compilers
won't work. You may need to provide a --with-CXX=compiler switch to
force configure to pick the matching C++ compiler, or even say
--without-CXX if you have a C++ compiler but it doesn't match the C
compiler you want to use.
Otherwise the standard build/install procedure described in the
PostgreSQL documentation works fine.
1.3) yacc dies trying to process src/backend/parser/gram.y.
HP's yacc doesn't create its tables large enough to handle the Postgres
grammar (a lot of other vendors' yaccs have this problem too). There
are three possible workarounds:
1. The quickest answer is just to "touch" src/backend/parser/gram.c
and src/backend/parser/parse.h and repeat the build. Any PostgreSQL
distribution file should have up-to-date copies of those files included,
so you shouldn't need to run yacc on gram.y at all ... but sometimes
gram.y mistakenly has a newer timestamp in the distribution than the
derived files do.
2. Install "bison" (GNU yacc) and reconfigure. Bison doesn't have a
problem with large grammars. Note this is not the right choice if you
are using HP's cc on HPUX 9 --- see next item.
3. Increase yacc's table sizes enough to cope. With a pre-6.4
PostgreSQL grammar, I was able to get HPUX 9's yacc to work by
setting YFLAGS to
-d -Np2000 -Ns3000 -Nm100000 -Nl2000 -Na30000 -Nc10000
(You can edit YFLAGS either in the template file before running
configure, or in src/Makefile.global afterwards.) Future PostgreSQL
releases might require even larger tables, but this should do for
a starting point.
1.4) Linking the main postgres executable fails, complaining that
there's no "alloca" function.
If you're using HP's cc on HPUX 9, it's right: there's no alloca
function. The only place in PostgreSQL that uses alloca is the parser
(gram.c), and that does so only if it was generated with GNU bison.
Unfortunately the distribution copy of gram.c is made with bison.
There are several possible answers:
1. Remake gram.c with HP's yacc (see above item for switch settings).
You might also need to remake src/backend/bootstrap/bootparse.c.
2. Build with gcc, which treats alloca as a compiled-in-line function.
3. Install HPUX 10, which has alloca. You're gonna have to do that
before Y2K anyway...
1.5) OK, it seemed to build and install, but the regression test fails.
There are several "expected failures" due to differences between HPUX
and the regression test reference platform used by the PostgreSQL group.
A look at the textual differences between the expected and actual
outputs will usually reveal that the differences are minor. You should
expect these differences:
TEST(S) COMMENTS
int2, int4: pg_atoi generates a differently worded error
message for integer overflow.
float8: In 6.4, float8 shows some differences due to
different handling of overflow/underflow errors in
exp() and pow(). This should be fixed in 6.4.1
and later.
float8, geometry: Lots of differences in the last digit or two
because of different roundoff errors in floating
arithmetic. Also, HPUX does not distinguish
-0 from 0 during printout, but the reference
platform does.
horology: HPUX time library does not know about daylight
savings time before 1970, so there are some
places in horology where a time will be shown
in PST instead of PDT.
In addition, the int8 regression test will fail massively on HPUX 9,
because int8 doesn't actually work on this platform (sprintf/sscanf
don't cope with long long int). Either upgrade to HPUX 10, or don't
use int8 data.
Any other error is cause for suspicion. In particular, if you see
failures in the datetime test on HPUX 9, you probably forgot to
install the libm patch PHSS_4630 --- see item 1.1 above.
</PRE>
This diff is collapsed.
This diff is collapsed.
<PRE>
=======================================================
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.
</PRE>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment