mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03:00
Update faq and hpux faq.
This commit is contained in:
parent
e7253d893c
commit
3fd4755ee3
92
doc/FAQ
92
doc/FAQ
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Frequently Asked Questions (FAQ) for PostgreSQL
|
Frequently Asked Questions (FAQ) for PostgreSQL
|
||||||
|
|
||||||
Last updated: Fri Jun 4 23:30:19 EDT 1999
|
Last updated: Sat Jun 5 14:22:43 EDT 1999
|
||||||
|
|
||||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||||
|
|
||||||
@ -13,6 +13,9 @@
|
|||||||
|
|
||||||
Irix-specific questions are answered in
|
Irix-specific questions are answered in
|
||||||
http://postgreSQL.org/docs/faq-irix.html.
|
http://postgreSQL.org/docs/faq-irix.html.
|
||||||
|
|
||||||
|
HPUX-specific questions are answered in
|
||||||
|
http://postgreSQL.org/docs/faq-hpux.shtml.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
General questions
|
General questions
|
||||||
@ -141,13 +144,13 @@ Section 1: General Questions
|
|||||||
1.2) What does PostgreSQL run on?
|
1.2) What does PostgreSQL run on?
|
||||||
|
|
||||||
The authors have compiled and tested PostgreSQL on the following
|
The authors have compiled and tested PostgreSQL on the following
|
||||||
platforms(some of these compiles require gcc 2.7.0):
|
platforms (some of these compiles require gcc):
|
||||||
* aix - IBM on AIX 3.2.5 or 4.x
|
* aix - IBM on AIX 3.2.5 or 4.x
|
||||||
* alpha - DEC Alpha AXP on Digital Unix 2.0, 3.2, 4.0
|
* alpha - DEC Alpha AXP on Digital Unix 2.0, 3.2, 4.0
|
||||||
* BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
|
* BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
|
||||||
* bsdi - BSD/OS 2.x, 3.x, 4.x
|
* bsdi - BSD/OS 2.x, 3.x, 4.x
|
||||||
* dgux - DG/UX 5.4R4.11
|
* dgux - DG/UX 5.4R4.11
|
||||||
* hpux - HP PA-RISC on HP-UX 9.0, 10
|
* hpux - HP PA-RISC on HP-UX 9.*, 10.*
|
||||||
* i386_solaris - i386 Solaris
|
* i386_solaris - i386 Solaris
|
||||||
* irix5 - SGI MIPS on IRIX 5.3
|
* irix5 - SGI MIPS on IRIX 5.3
|
||||||
* linux - Intel x86 on Linux 2.0 and Linux ELF SPARC on Linux ELF
|
* linux - Intel x86 on Linux 2.0 and Linux ELF SPARC on Linux ELF
|
||||||
@ -203,9 +206,9 @@ Section 1: General Questions
|
|||||||
California, Berkeley. It is maintained through volunteer effort.
|
California, Berkeley. It is maintained through volunteer effort.
|
||||||
|
|
||||||
The main mailing list is: pgsql-general@postgreSQL.org. It is
|
The main mailing list is: pgsql-general@postgreSQL.org. It is
|
||||||
available for discussion of matters pertaining to PostgreSQL, For info
|
available for discussion of matters pertaining to PostgreSQL. To
|
||||||
on how to subscribe, send a mail with the lines in the body (not the
|
subscribe, send a mail with the lines in the body (not the subject
|
||||||
subject line)
|
line)
|
||||||
|
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
@ -221,9 +224,13 @@ Section 1: General Questions
|
|||||||
Digests are sent out to members of this list whenever the main list
|
Digests are sent out to members of this list whenever the main list
|
||||||
has received around 30k of messages.
|
has received around 30k of messages.
|
||||||
|
|
||||||
The bugs mailing list available. To subscribe to this list, send email
|
The bugs mailing list is available. To subscribe to this list, send
|
||||||
to bugs-request@postgreSQL.org with a BODY of:
|
email to bugs-request@postgreSQL.org with a BODY of:
|
||||||
|
|
||||||
|
|
||||||
|
subscribe
|
||||||
|
end
|
||||||
|
|
||||||
There is also a developers discussion mailing list available. To
|
There is also a developers discussion mailing list available. To
|
||||||
subscribe to this list, send email to hackers-request@postgreSQL.org
|
subscribe to this list, send email to hackers-request@postgreSQL.org
|
||||||
with a BODY of:
|
with a BODY of:
|
||||||
@ -237,7 +244,7 @@ Section 1: General Questions
|
|||||||
|
|
||||||
http://postgreSQL.org
|
http://postgreSQL.org
|
||||||
|
|
||||||
There also an IRC channel on EFNet, channel #PostgreSQL. I use the
|
There is also an IRC channel on EFNet, channel #PostgreSQL. I use the
|
||||||
unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net
|
unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net
|
||||||
|
|
||||||
1.6) Latest release of PostgreSQL
|
1.6) Latest release of PostgreSQL
|
||||||
@ -368,8 +375,10 @@ Section 2: Installation Questions
|
|||||||
|
|
||||||
2.4) How do I install PostgreSQL somewhere other than /usr/local/pgsql?
|
2.4) How do I install PostgreSQL somewhere other than /usr/local/pgsql?
|
||||||
|
|
||||||
You need to edit Makefile.global and change POSTGRESDIR accordingly,
|
The simplest way is to specify the --prefix option when running
|
||||||
or create a Makefile.custom and define POSTGRESDIR there.
|
configure. If you forgot to do that, you can edit Makefile.global and
|
||||||
|
change POSTGRESDIR accordingly, or create a Makefile.custom and define
|
||||||
|
POSTGRESDIR there.
|
||||||
|
|
||||||
2.5) When I run postmaster, I get a Bad System Call core dumped message.
|
2.5) When I run postmaster, I get a Bad System Call core dumped message.
|
||||||
|
|
||||||
@ -394,13 +403,13 @@ Section 2: Installation Questions
|
|||||||
2.8) How do I prevent other hosts from accessing my PostgreSQL database?
|
2.8) How do I prevent other hosts from accessing my PostgreSQL database?
|
||||||
|
|
||||||
By default, PostgreSQL only allows connections from the local machine
|
By default, PostgreSQL only allows connections from the local machine
|
||||||
using unix domain sockets. You must add the -i flag to the postmaster,
|
using unix domain sockets. Other machines will not be able to connect
|
||||||
and enable host-based authentication by modifying the file
|
unless you add the -i flag to the postmaster, and enable host-based
|
||||||
$PGDATA/pg_hba accordingly.
|
authentication by modifying the file $PGDATA/pg_hba.conf accordingly.
|
||||||
|
|
||||||
2.9) I can't access the database as the root user.
|
2.9) I can't access the database as the root user.
|
||||||
|
|
||||||
You should not create database users with user id 0(root). They will
|
You should not create database users with user id 0 (root). They will
|
||||||
be unable to access the database. This is a security precaution
|
be unable to access the database. This is a security precaution
|
||||||
because of the ability of any user to dynamically link object modules
|
because of the ability of any user to dynamically link object modules
|
||||||
into the database engine.
|
into the database engine.
|
||||||
@ -430,12 +439,15 @@ Section 2: Installation Questions
|
|||||||
|
|
||||||
You can also use the postmaster -B option to increase the number of
|
You can also use the postmaster -B option to increase the number of
|
||||||
shared memory buffers used by the backend processes. If you make this
|
shared memory buffers used by the backend processes. If you make this
|
||||||
parameter too high, the backends will not start or crash unexpectedly.
|
parameter too high, the postmaster may not start up because you've
|
||||||
Each buffer is 8K and the default is 64 buffers.
|
exceeded your kernel's limit on shared memory space. Each buffer is 8K
|
||||||
|
and the default is 64 buffers.
|
||||||
|
|
||||||
You can also use the postgres -S option to increase the maximum amount
|
You can also use the backend -S option to increase the maximum amount
|
||||||
of memory used by each backend process for temporary sorts. Each
|
of memory used by each backend process for temporary sorts. The -S
|
||||||
buffer is 1K and the default is 512 buffers.
|
value is measured in kilobytes, and the default is 512 (ie, 512K). It
|
||||||
|
is unwise to make this value too large, or you may run out of memory
|
||||||
|
when a query invokes several concurrent sorts.
|
||||||
|
|
||||||
You can also use the cluster command to group data in base tables to
|
You can also use the cluster command to group data in base tables to
|
||||||
match an index. See the cluster(l) manual page for more details.
|
match an index. See the cluster(l) manual page for more details.
|
||||||
@ -445,7 +457,7 @@ Section 2: Installation Questions
|
|||||||
PostgreSQL has several features that report status information that
|
PostgreSQL has several features that report status information that
|
||||||
can be valuable for debugging purposes.
|
can be valuable for debugging purposes.
|
||||||
|
|
||||||
First, by running configure with the -enable-cassert option, many
|
First, by running configure with the --enable-cassert option, many
|
||||||
assert()'s monitor the progress of the backend and halt the program
|
assert()'s monitor the progress of the backend and halt the program
|
||||||
when something unexpected occurs.
|
when something unexpected occurs.
|
||||||
|
|
||||||
@ -461,7 +473,7 @@ Section 2: Installation Questions
|
|||||||
encountered by the server. Postmaster has a -d option that allows even
|
encountered by the server. Postmaster has a -d option that allows even
|
||||||
more detailed information to be reported. The -d option takes a number
|
more detailed information to be reported. The -d option takes a number
|
||||||
that specifies the debug level. Be warned that high debug level values
|
that specifies the debug level. Be warned that high debug level values
|
||||||
generates large log files.
|
generate large log files.
|
||||||
|
|
||||||
You can actually run the postgres backend from the command line, and
|
You can actually run the postgres backend from the command line, and
|
||||||
type your SQL statement directly. This is recommended only for
|
type your SQL statement directly. This is recommended only for
|
||||||
@ -473,8 +485,8 @@ Section 2: Installation Questions
|
|||||||
operating system can attach to a running backend directly to diagnose
|
operating system can attach to a running backend directly to diagnose
|
||||||
problems.
|
problems.
|
||||||
|
|
||||||
The postgres program has a -s, -A, -t options that can be very useful
|
The postgres program has -s, -A, and -t options that can be very
|
||||||
for debugging and performance measurements.
|
useful for debugging and performance measurements.
|
||||||
|
|
||||||
You can also compile with profiling to see what functions are taking
|
You can also compile with profiling to see what functions are taking
|
||||||
execution time. The backend profile files will be deposited in the
|
execution time. The backend profile files will be deposited in the
|
||||||
@ -684,21 +696,24 @@ BYTEA bytea variable-length array of bytes
|
|||||||
you need to use pgdump's -o option or copy with oids option to
|
you need to use pgdump's -o option or copy with oids option to
|
||||||
preserve the oids.
|
preserve the oids.
|
||||||
|
|
||||||
3.14) What are the pg_psort.XXX files in my database directory?
|
3.14) What are the pg_tempNNN.NN files in my database directory?
|
||||||
|
|
||||||
They are temporary sort files generated by the query executor. For
|
They are temporary files generated by the query executor. For example,
|
||||||
example, if a sort needs to be done to satisfy an order by, some temp
|
if a sort needs to be done to satisfy an order by, and the sort
|
||||||
files are generated as a result of the sort.
|
requires more space than the backend's -S parameter allows, then temp
|
||||||
|
files are created to hold the extra data.
|
||||||
|
|
||||||
If you have no transactions or sorts running at the time, it is safe
|
The temp files should go away automatically, but might not if a
|
||||||
to delete the pg_psort.XXX files.
|
backend crashes during a sort. If you have no transactions running at
|
||||||
|
the time, it is safe to delete the pg_tempNNN.NN files.
|
||||||
|
|
||||||
3.15) Why can't I connect to my database from another machine?
|
3.15) Why can't I connect to my database from another machine?
|
||||||
|
|
||||||
The default configuration allows only unix domain socket connections
|
The default configuration allows only unix domain socket connections
|
||||||
from the local machine. To enable TCP/IP connections, use the
|
from the local machine. To enable TCP/IP connections, make sure the
|
||||||
postmaster -i option You need to add a host entry to the file
|
postmaster has been started with the -i option, and add an appropriate
|
||||||
pgsql/data/pg_hba. See the pg_hba.conf manual page.
|
host entry to the file pgsql/data/pg_hba.conf. See the pg_hba.conf
|
||||||
|
manual page.
|
||||||
|
|
||||||
3.16) How do I find out what indices or operations are defined in the
|
3.16) How do I find out what indices or operations are defined in the
|
||||||
database?
|
database?
|
||||||
@ -776,7 +791,7 @@ BYTEA bytea variable-length array of bytes
|
|||||||
|
|
||||||
See the fetch manual page.
|
See the fetch manual page.
|
||||||
|
|
||||||
This only prevents all row results from being transfered to the
|
This only prevents all row results from being transferred to the
|
||||||
client. The entire query must be evaluated, even if you only want just
|
client. The entire query must be evaluated, even if you only want just
|
||||||
the first few rows. Consider a query that has an order by. There is no
|
the first few rows. Consider a query that has an order by. There is no
|
||||||
way to return any rows until the entire query is evaluated and sorted.
|
way to return any rows until the entire query is evaluated and sorted.
|
||||||
@ -811,8 +826,11 @@ being indexed, so they can be large also.
|
|||||||
|
|
||||||
3.23) How do I get a list of tables, or other things I can see in psql?
|
3.23) How do I get a list of tables, or other things I can see in psql?
|
||||||
|
|
||||||
See the file pgsql/src/bin/psql/psql.c. It contains SQL commands that
|
You can read the source code for psql, file pgsql/src/bin/psql/psql.c.
|
||||||
generate the output for psql's backslash commands.
|
It contains SQL commands that generate the output for psql's backslash
|
||||||
|
commands. Beginning in Postgres 6.5, you can also start psql with the
|
||||||
|
-E option so that it will print out the queries it uses to execute the
|
||||||
|
commands you give.
|
||||||
|
|
||||||
3.24) Why do I get the error "FATAL: palloc failure: memory exhausted?"
|
3.24) Why do I get the error "FATAL: palloc failure: memory exhausted?"
|
||||||
|
|
||||||
@ -826,7 +844,7 @@ being indexed, so they can be large also.
|
|||||||
Depending on your shell, only one of these may succeed, but it will
|
Depending on your shell, only one of these may succeed, but it will
|
||||||
set your process data segment limit much higher and perhaps allow the
|
set your process data segment limit much higher and perhaps allow the
|
||||||
query to complete. This command applies to the current process, and
|
query to complete. This command applies to the current process, and
|
||||||
all subprocesses created after the command is run. If are having a
|
all subprocesses created after the command is run. If you are having a
|
||||||
problem with the SQL client because the backend is returning too much
|
problem with the SQL client because the backend is returning too much
|
||||||
data, try it before starting the client.
|
data, try it before starting the client.
|
||||||
|
|
||||||
|
132
doc/FAQ_HPUX
132
doc/FAQ_HPUX
@ -1,40 +1,37 @@
|
|||||||
|
<PRE>
|
||||||
=======================================================
|
=======================================================
|
||||||
Frequently Asked Questions (FAQ) for PostgreSQL V6.4
|
Frequently Asked Questions (FAQ) for PostgreSQL V6.5
|
||||||
HP-UX Specific
|
HP-UX Specific
|
||||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||||
=======================================================
|
=======================================================
|
||||||
last updated: Sat Nov 28 16:21:25 EST 1998
|
last updated: Sun May 23 19:48:07 EDT 1999
|
||||||
|
|
||||||
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
|
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
|
||||||
original author: Tom Lane (tgl@sss.pgh.pa.us)
|
original author: Tom Lane (tgl@sss.pgh.pa.us)
|
||||||
|
|
||||||
|
|
||||||
Questions covered here:
|
Questions covered here:
|
||||||
1.1) What do I need to install PostgreSQL on HP-UX?
|
1.1) What do I need to install PostgreSQL on HP-UX?
|
||||||
1.2) Anything special about the build/install procedure?
|
1.2) Anything special about the build/install procedure?
|
||||||
1.3) yacc dies trying to process src/backend/parser/gram.y.
|
1.3) yacc dies trying to process src/backend/parser/gram.y.
|
||||||
1.4) Linking the main postgres executable fails, complaining that
|
1.4) Linking the main postgres executable fails, complaining that
|
||||||
there's no "alloca" function.
|
there's no "alloca" function.
|
||||||
1.5) OK, it seemed to build and install, but the regression test fails.
|
1.5) OK, it seemed to build and install, but the regression test fails.
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
Section 1: Installing PostgreSQL
|
Section 1: Installing PostgreSQL
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
1.1) What do I need to install PostgreSQL on HP-UX?
|
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,
|
PostgreSQL 6.5 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.
|
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
|
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.)
|
machines, too. I have heard nonspecific reports of problems on HPUX 11;
|
||||||
Since this is a new FAQ, I don't yet have a lot of information about the
|
more info and/or patches would be appreciated!
|
||||||
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
|
Aside from the PostgreSQL source distribution, you will need GNU make
|
||||||
(HP's make will not do), and either GNU gcc or HP's full ANSI C compiler.
|
(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
|
You must also get flex (GNU lex) 2.5.4 or later --- all versions of
|
||||||
HP's lex fail on the Postgres lexer files.
|
HP's lex fail on the Postgres lexer files.
|
||||||
@ -43,9 +40,12 @@ 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,
|
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
|
you *must* have PHSS_4630 (libm update) or a successor patch; otherwise
|
||||||
Postgres' date/time functions will misbehave. On general principles you
|
Postgres' date/time functions will misbehave. On general principles you
|
||||||
should be current on libc and ld/dld patches, as well as compiler
|
should be current on libc and ld/dld patches, as well as compiler patches
|
||||||
patches if you are using HP's C compiler (but I don't currently know of
|
if you are using HP's C compiler. (The only other presently known failure
|
||||||
any specific failures due to not having recent patches for these files).
|
from out-of-date system libraries is that on HPUX 10.10, the backend will
|
||||||
|
crash after the second error message in a session unless you have upgraded
|
||||||
|
libc to PHCO_16722 or later.)
|
||||||
|
|
||||||
See HP's support websites, such as http://us-support.external.hp.com/,
|
See HP's support websites, such as http://us-support.external.hp.com/,
|
||||||
for free copies of their latest patches.
|
for free copies of their latest patches.
|
||||||
|
|
||||||
@ -54,22 +54,23 @@ install on HPUX, so I recommend you not bother with anything older
|
|||||||
than 6.4.
|
than 6.4.
|
||||||
|
|
||||||
|
|
||||||
1.2) Anything special about the build/install procedure?
|
1.2) Anything special about the build/install procedure?
|
||||||
|
|
||||||
When you run configure, you will want to explicitly select either the
|
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
|
hpux_cc or hpux_gcc template depending on which compiler you plan to
|
||||||
use:
|
use:
|
||||||
./configure --with-template=hpux_cc
|
./configure --with-template=hpux_cc
|
||||||
for HP's C compiler, or
|
for HP's C compiler, or
|
||||||
./configure --with-template=hpux_gcc
|
./configure --with-template=hpux_gcc
|
||||||
for GNU gcc. (If you omit --with-template, configure may either
|
for GNU gcc. (If you omit --with-template, configure may either
|
||||||
default to hpux_cc or give up entirely, depending on which HPUX and
|
default to hpux_cc or give up entirely, depending on which HPUX and
|
||||||
PostgreSQL releases you have.)
|
PostgreSQL releases you have.)
|
||||||
|
|
||||||
You may want to tweak the CFLAGS setting in template/hpux_[g]cc before
|
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,
|
you configure. The distributed copy of hpux_cc contains neither -O nor -g
|
||||||
which is hardly optimal for any situation. I've seen no problems using
|
switches, which is hardly optimal for any situation. As of Postgres 6.5,
|
||||||
-O with gcc 2.7.2.*.
|
hpux_gcc sets CFLAGS to -O2, which is fine unless you want to do debugging;
|
||||||
|
in that case you may want -g as well (or instead).
|
||||||
|
|
||||||
The default install target location is /usr/local/pgsql, which
|
The default install target location is /usr/local/pgsql, which
|
||||||
(particularly on HPUX 10) you might want to change to something under
|
(particularly on HPUX 10) you might want to change to something under
|
||||||
@ -87,7 +88,7 @@ Otherwise the standard build/install procedure described in the
|
|||||||
PostgreSQL documentation works fine.
|
PostgreSQL documentation works fine.
|
||||||
|
|
||||||
|
|
||||||
1.3) yacc dies trying to process src/backend/parser/gram.y.
|
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
|
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
|
grammar (a lot of other vendors' yaccs have this problem too). There
|
||||||
@ -98,33 +99,37 @@ and src/backend/parser/parse.h and repeat the build. Any PostgreSQL
|
|||||||
distribution file should have up-to-date copies of those files included,
|
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
|
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
|
gram.y mistakenly has a newer timestamp in the distribution than the
|
||||||
derived files do.
|
derived files do. (If you fetched the PostgreSQL sources from the CVS
|
||||||
|
server, then you won't have these files anyway; see next choices.)
|
||||||
|
|
||||||
2. Install "bison" (GNU yacc) and reconfigure. Bison doesn't have a
|
2. Increase yacc's table sizes enough to cope. With a pre-6.4
|
||||||
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
|
PostgreSQL grammar, I was able to get HPUX 9's yacc to work by
|
||||||
setting YFLAGS to
|
setting YFLAGS to
|
||||||
-d -Np2000 -Ns3000 -Nm100000 -Nl2000 -Na30000 -Nc10000
|
-d -Np2000 -Ns3000 -Nm100000 -Nl2000 -Na30000 -Nc10000
|
||||||
(You can edit YFLAGS either in the template file before running
|
(You can edit YFLAGS either in the template file before running
|
||||||
configure, or in src/Makefile.global afterwards.) Future PostgreSQL
|
configure, or in src/Makefile.global afterwards.) Future PostgreSQL
|
||||||
releases might require even larger tables, but this should do for
|
releases might require even larger tables, but this should do for
|
||||||
a starting point.
|
a starting point.
|
||||||
|
|
||||||
|
3. 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.
|
||||||
|
|
||||||
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
|
1.4) Linking the main postgres executable fails, complaining that
|
||||||
function. The only place in PostgreSQL that uses alloca is the parser
|
there's no "alloca" function.
|
||||||
(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).
|
If you're using HP's cc on HPUX 9, it's right: there's no alloca function.
|
||||||
You might also need to remake src/backend/bootstrap/bootparse.c.
|
The only places in PostgreSQL that use alloca are the parser files, and
|
||||||
|
those do so only if they were generated with GNU bison. Unfortunately the
|
||||||
|
prebuilt copies of gram.c and preproc.c are made with bison. There are
|
||||||
|
several possible answers:
|
||||||
|
|
||||||
|
1. Remake the files with HP's yacc: configure to use yacc with the
|
||||||
|
above-mentioned switch settings, and remove these files before
|
||||||
|
starting the build:
|
||||||
|
src/backend/parser/gram.c
|
||||||
|
src/interfaces/ecpg/preproc/preproc.c
|
||||||
|
|
||||||
2. Build with gcc, which treats alloca as a compiled-in-line function.
|
2. Build with gcc, which treats alloca as a compiled-in-line function.
|
||||||
|
|
||||||
@ -132,7 +137,7 @@ There are several possible answers:
|
|||||||
before Y2K anyway...
|
before Y2K anyway...
|
||||||
|
|
||||||
|
|
||||||
1.5) OK, it seemed to build and install, but the regression test fails.
|
1.5) OK, it seemed to build and install, but the regression test fails.
|
||||||
|
|
||||||
There are several "expected failures" due to differences between HPUX
|
There are several "expected failures" due to differences between HPUX
|
||||||
and the regression test reference platform used by the PostgreSQL group.
|
and the regression test reference platform used by the PostgreSQL group.
|
||||||
@ -140,32 +145,31 @@ A look at the textual differences between the expected and actual
|
|||||||
outputs will usually reveal that the differences are minor. You should
|
outputs will usually reveal that the differences are minor. You should
|
||||||
expect these differences:
|
expect these differences:
|
||||||
|
|
||||||
TEST(S) COMMENTS
|
TEST(S) COMMENTS
|
||||||
|
|
||||||
int2, int4: pg_atoi generates a differently worded error
|
int2, int4: pg_atoi generates a differently worded error
|
||||||
message for integer overflow.
|
message for integer overflow.
|
||||||
|
|
||||||
float8: In 6.4, float8 shows some differences due to
|
float8, geometry: Lots of differences in the last digit or two
|
||||||
different handling of overflow/underflow errors in
|
because of different roundoff errors in floating
|
||||||
exp() and pow(). This should be fixed in 6.4.1
|
arithmetic. Also, HPUX does not distinguish
|
||||||
and later.
|
-0 from 0 during printout, but the reference
|
||||||
|
platform does.
|
||||||
|
|
||||||
float8, geometry: Lots of differences in the last digit or two
|
float8: In 6.4, float8 shows some differences due to
|
||||||
because of different roundoff errors in floating
|
different handling of overflow/underflow errors in
|
||||||
arithmetic. Also, HPUX does not distinguish
|
exp() and pow(). This is fixed in 6.4.1 and later.
|
||||||
-0 from 0 during printout, but the reference
|
|
||||||
platform does.
|
|
||||||
|
|
||||||
horology: HPUX time library does not know about daylight
|
horology: HPUX time library does not know about daylight
|
||||||
savings time before 1970, so there are some
|
savings time before 1970, so there are some
|
||||||
places in horology where a time will be shown
|
places in horology where a time will be shown
|
||||||
in PST instead of PDT.
|
in PST instead of PDT.
|
||||||
|
|
||||||
In addition, the int8 regression test will fail massively on HPUX 9,
|
The int8 regression test will fail massively on HPUX 9 with Postgres 6.4,
|
||||||
because int8 doesn't actually work on this platform (sprintf/sscanf
|
because sprintf/sscanf don't cope with long long int. This is fixed in
|
||||||
don't cope with long long int). Either upgrade to HPUX 10, or don't
|
Postgres 6.5 by not depending on the system versions of those routines.
|
||||||
use int8 data.
|
|
||||||
|
|
||||||
Any other error is cause for suspicion. In particular, if you see
|
Any other error is cause for suspicion. In particular, if you see
|
||||||
failures in the datetime test on HPUX 9, you probably forgot to
|
failures in the datetime test on HPUX 9, you probably forgot to
|
||||||
install the libm patch PHSS_4630 --- see item 1.1 above.
|
install the libm patch PHSS_4630 --- see item 1.1 above.
|
||||||
|
</PRE>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user