mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Prepare for 6.4.1.
This commit is contained in:
71
INSTALL
71
INSTALL
@ -38,8 +38,8 @@ Table of Contents
|
||||
Installation
|
||||
Operation
|
||||
5. Release Notes
|
||||
Release 6.4
|
||||
Migration to v6.4
|
||||
Release 6.4.1
|
||||
Migration to v6.4.1
|
||||
Detailed Change List
|
||||
|
||||
List of Tables
|
||||
@ -71,7 +71,7 @@ Chapter 1. Introduction
|
||||
|
||||
Chapter 2. Ports
|
||||
|
||||
This manual describes version 6.4 of Postgres. The
|
||||
This manual describes version 6.4.1 of Postgres. The
|
||||
Postgres developer community has compiled and tested
|
||||
Postgres on a number of platforms. Check the web site
|
||||
for the latest information.
|
||||
@ -83,58 +83,58 @@ Currently Supported Platforms
|
||||
|
||||
Table 2-1. Supported Platforms
|
||||
OS Processor Version Reported Remarks
|
||||
AIX 4.2.1 RS6000 v6.4 1998-10-27 (Andreas Zeugswetter)
|
||||
BSDI x86 v6.4 1998-10-25 (Bruce Momjian
|
||||
FreeBSD x86 v6.4 1998-10-26 (Tatsuo Ishii, Marc
|
||||
AIX 4.2.1 RS6000 v6.4.1 1998-10-27 (Andreas Zeugswetter)
|
||||
BSDI x86 v6.4.1 1998-10-25 (Bruce Momjian
|
||||
FreeBSD x86 v6.4.1 1998-10-26 (Tatsuo Ishii, Marc
|
||||
2.2.x-3.x Fournier)
|
||||
DGUX 5.4R4.11 m88k v6.3 1998-03-01 v6.4 probably OK. Needs
|
||||
DGUX 5.4R4.11 m88k v6.3 1998-03-01 v6.4.1 probably OK. Needs
|
||||
new maintainer. (Brian E
|
||||
Gallew)
|
||||
Digital Unix Alpha v6.4 1998-10-29 Minor patchable problems
|
||||
Digital Unix Alpha v6.4.1 1998-10-29 Minor patchable problems
|
||||
4.0 (Pedro J. Lobo)
|
||||
HPUX PA-RISC v6.4 1998-10-25 Both 9.0x and 10.20
|
||||
HPUX PA-RISC v6.4.1 1998-10-25 Both 9.0x and 10.20
|
||||
(Tom Lane, Stan Brown)
|
||||
IRIX 6.x MIPS v6.3 1998-03-01 5.x is different (Andrew
|
||||
Martin)
|
||||
linux 2.0.x Alpha v6.3.2 1998-04-16 Mostly successful. Needs
|
||||
work for v6.4. (Ryan
|
||||
work for v6.4.1. (Ryan
|
||||
Kirkpatrick)
|
||||
linux 2.0.x x86 v6.4 1998-10-27 (Thomas Lockhart)
|
||||
linux x86 v6.4 1998-10-25 (Oliver Elphick, Taral)
|
||||
linux 2.0.x x86 v6.4.1 1998-10-27 (Thomas Lockhart)
|
||||
linux x86 v6.4.1 1998-10-25 (Oliver Elphick, Taral)
|
||||
2.0.x/glibc2
|
||||
linux 2.0.x Sparc v6.4 1998-10-25 (Tom Szybist)
|
||||
linuxPPC PPC603e v6.4 1998-10-26 Powerbook 2400c (Tatsuo
|
||||
linux 2.0.x Sparc v6.4.1 1998-10-25 (Tom Szybist)
|
||||
linuxPPC PPC603e v6.4.1 1998-10-26 Powerbook 2400c (Tatsuo
|
||||
2.1.24 Ishii)
|
||||
mklinux DR3 PPC750 v6.4 1998-09-16 PowerMac 7600 (Tatsuo
|
||||
mklinux DR3 PPC750 v6.4.1 1998-09-16 PowerMac 7600 (Tatsuo
|
||||
Ishii)
|
||||
NetBSD/i386 x86 v6.4 1998-10-25 (Brook Milligan)
|
||||
NetBSD/i386 x86 v6.4.1 1998-10-25 (Brook Milligan)
|
||||
1.3.2
|
||||
NetBSD- NS32532 v6.4 1998-10-27 (small problems in
|
||||
NetBSD- NS32532 v6.4.1 1998-10-27 (small problems in
|
||||
current date/time math
|
||||
(Jon Buller)
|
||||
NetBSD/sparc Sparc v6.4 1998-10-27 (Tom I Helbekkmo)
|
||||
NetBSD/sparc Sparc v6.4.1 1998-10-27 (Tom I Helbekkmo)
|
||||
1.3H
|
||||
NetBSD 1.3 VAX v6.3 1998-03-01 (Tom I Helbekkmo)
|
||||
SCO UnixWare x86 v6.3 1998-03-01 aka UNIVEL (Billy G.
|
||||
2.x Allie)
|
||||
SCO UnixWare x86 v6.4 1998-10-04 (Billy G. Allie)
|
||||
SCO UnixWare x86 v6.4.1 1998-10-04 (Billy G. Allie)
|
||||
7
|
||||
Solaris x86 v6.4 1998-10-28 (Marc Fournier)
|
||||
Solaris Sparc v6.4 1998-10-28 (Tom Szybist, Frank
|
||||
Solaris x86 v6.4.1 1998-10-28 (Marc Fournier)
|
||||
Solaris Sparc v6.4.1 1998-10-28 (Tom Szybist, Frank
|
||||
2.6-2.7 Ridderbusch)
|
||||
SunOS 4.1.4 Sparc v6.3 1998-03-01 patches submitted (Tatsuo
|
||||
Ishii)
|
||||
SVR4 MIPS v6.4 1998-10-28 no 64-bit int support
|
||||
SVR4 MIPS v6.4.1 1998-10-28 no 64-bit int support
|
||||
(Frank Ridderbusch)
|
||||
SVR4 4.4 m88k v6.2.1 1998-03-01 confirmed with patching
|
||||
(Doug Winterburn)
|
||||
Windows NT x86 v6.4 1998-10-08 Mostly working with the
|
||||
Windows NT x86 v6.4.1 1998-10-08 Mostly working with the
|
||||
Cygwin library. No DLLs
|
||||
yet. (Horak Daniel)
|
||||
|
||||
|
||||
Platforms listed for v6.3.x should also work with
|
||||
v6.4, but we did not receive confirmation of such at
|
||||
v6.4.1, but we did not receive confirmation of such at
|
||||
the time this list was compiled.
|
||||
|
||||
Note: For Windows NT, the server-side port of
|
||||
@ -174,7 +174,7 @@ Unsupported Platforms
|
||||
|
||||
Chapter 3. Installation
|
||||
|
||||
Complete installation instructions for Postgres v6.4.
|
||||
Complete installation instructions for Postgres v6.4.1.
|
||||
Before installing Postgres, you may wish to visit
|
||||
www.postgresql.org for up to date information,
|
||||
patches, etc.
|
||||
@ -270,7 +270,7 @@ Installation Procedure
|
||||
happen in this account.
|
||||
|
||||
4. Ftp file
|
||||
ftp://ftp.postgresql.org/pub/postgresql-v6.4.tar.gz
|
||||
ftp://ftp.postgresql.org/pub/postgresql-v6.4.1.tar.gz
|
||||
from the Internet. Store it in your home directory.
|
||||
|
||||
5. Some platforms use flex. If your system uses flex
|
||||
@ -339,7 +339,7 @@ Installation Procedure
|
||||
pull the most recent version of pg_dumpall from
|
||||
the new distribution:
|
||||
$ cd
|
||||
$ gunzip -c postgresql-v6.4.tar.gz \
|
||||
$ gunzip -c postgresql-v6.4.1.tar.gz \
|
||||
| tar xvf - src/bin/pg_dump/pg_dumpall
|
||||
$ chmod a+x src/bin/pg_dump/pg_dumpall
|
||||
$ src/bin/pg_dump/pg_dumpall -z > db.out
|
||||
@ -435,7 +435,7 @@ Installation Procedure
|
||||
$ exit
|
||||
10. Unzip and untar the new source file. Type
|
||||
$ cd /usr/src/pgsql
|
||||
$ gunzip -c ~/postgresql-v6.4.tar.gz | tar xvf -
|
||||
$ gunzip -c ~/postgresql-v6.4.1.tar.gz | tar xvf -
|
||||
11. Configure the source code for your system. It
|
||||
is this step at which you can specify your actual
|
||||
installation path for the build process (see the
|
||||
@ -760,7 +760,7 @@ Installation Procedure
|
||||
it appears to be a significant issue.
|
||||
For example,
|
||||
o For a i686/Linux-ELF platform, no tests
|
||||
failed since this is the v6.4 regression
|
||||
failed since this is the v6.4.1 regression
|
||||
testing reference platform.
|
||||
o For the SPARC/Linux-ELF platform, using the
|
||||
970525 beta version of Postgres v6.2 the
|
||||
@ -870,7 +870,7 @@ Installation Procedure
|
||||
not get Postgres to work on you system. Please
|
||||
send a mail message to pgsql-ports@postgresql.org
|
||||
telling us the following:
|
||||
o The version of Postgres (v6.4, 6.3.2, beta 981014, etc.).
|
||||
o The version of Postgres (v6.4.1, 6.3.2, beta 981014, etc.).
|
||||
o Your operating system (i.e. RedHat v5.1 Linux v2.0.34).
|
||||
o Your hardware (SPARC, i486, etc.).
|
||||
o Did you compile, install and run the regression
|
||||
@ -1296,7 +1296,7 @@ Operation
|
||||
|
||||
Chapter 5. Release Notes
|
||||
|
||||
Release 6.4
|
||||
Release 6.4.1
|
||||
|
||||
There are many new features and improvements in this
|
||||
release. Thanks to our developers and maintainers,
|
||||
@ -1337,11 +1337,14 @@ Release 6.4
|
||||
has received some attention, and should be more
|
||||
robust for more platforms than it has ever been.
|
||||
|
||||
Migration to v6.4
|
||||
Migration to v6.4.1
|
||||
|
||||
A dump/restore is not required for those upgrading from 6.4.
|
||||
A dump/restore using pg_dump or pg_dumpall is
|
||||
required for those wishing to migrate data from any
|
||||
previous release of Postgres.
|
||||
required for those wishing to migrate data from pre-6.4
|
||||
releases of Postgres. pg_upgrade may be helpful for those
|
||||
upgrading from 6.3.*.
|
||||
|
||||
|
||||
Detailed Change List
|
||||
|
||||
|
2
README
2
README
@ -3,7 +3,7 @@
|
||||
PostgreSQL Data Base Management System (formerly known as Postgres, then
|
||||
as Postgres95).
|
||||
|
||||
This directory contains the version 6.4 release of the PostgreSQL
|
||||
This directory contains the version 6.4.1 release of the PostgreSQL
|
||||
database server. The server is not ANSI SQL compliant, but it gets
|
||||
closer with every release. After you unzip and untar the distribution
|
||||
file, look at file INSTALL for the installation notes and file HISTORY
|
||||
|
63
doc/FAQ
63
doc/FAQ
@ -1,7 +1,7 @@
|
||||
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL
|
||||
|
||||
Last updated: Sat Oct 24 00:12:23 EDT 1998
|
||||
Last updated: Sat Dec 12 22:56:56 EST 1998
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
@ -68,8 +68,7 @@
|
||||
cursors?
|
||||
3.5) What is an R-tree index and what is it used for?
|
||||
3.6) What is the maximum size for a tuple?
|
||||
3.7) I defined indices but my queries don't seem to make use of them.
|
||||
Why?
|
||||
3.7) My queries are slow or don't make use of the indexes. Why?
|
||||
3.8) How do I do regular expression searches? case-insensitive regexp
|
||||
searching?
|
||||
3.9) I experienced a server crash during a vacuum. How do I remove the
|
||||
@ -275,7 +274,7 @@ Section 1: General Questions
|
||||
pg_upgrade utility. Those upgrading from earlier releases require a
|
||||
dump and restore.
|
||||
|
||||
Those ugrading from versions earlier than 1.09 must upgrade to 1.09
|
||||
Those upgrading from versions earlier than 1.09 must upgrade to 1.09
|
||||
first without a dump/reload, then dump the data from 1.09, and then
|
||||
load it into 6.4.
|
||||
|
||||
@ -306,14 +305,14 @@ Section 1: General Questions
|
||||
PHP is great for simple stuff, but for more complex stuff, some still
|
||||
use the perl interface and CGI.pm.
|
||||
|
||||
An WWW gatway based on WDB using perl can be downloaded from
|
||||
An WWW gateway based on WDB using perl can be downloaded from
|
||||
http://www.eol.ists.ca/~dunlop/wdb-p95
|
||||
|
||||
1.13) Does PostgreSQL have a graphical user interface? A report generator? A
|
||||
embedded query language interface?
|
||||
|
||||
We have a nice graphical user interface called pgaccess, which is
|
||||
shipped as part of the distribtion. Pgaccess also has a report
|
||||
shipped as part of the distribution. Pgaccess also has a report
|
||||
generator.
|
||||
|
||||
The web page is http://www.flex.ro/pgaccess We also include ecpg,
|
||||
@ -433,7 +432,7 @@ Section 2: Installation Questions
|
||||
|
||||
You can also use the postgres -S option to increase the maximum amount
|
||||
of memory used by each backend process for temporary sorts. Each
|
||||
buffer is 1K and the defualt is 512 buffers.
|
||||
buffer is 1K and the default is 512 buffers.
|
||||
|
||||
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.
|
||||
@ -471,7 +470,7 @@ Section 2: Installation Questions
|
||||
operating system can attach to a running backend directly to diagnose
|
||||
problems.
|
||||
|
||||
The postgres program has a -s, -A, -t options that can be very usefull
|
||||
The postgres program has a -s, -A, -t options that can be very useful
|
||||
for debugging and performance measurements.
|
||||
|
||||
You can also compile with profiling to see what functions are taking
|
||||
@ -483,7 +482,7 @@ Section 2: Installation Questions
|
||||
|
||||
Edit include/storage/sinvaladt.h, and change the value of
|
||||
MaxBackendId. In the future, we plan to make this a configurable
|
||||
prameter.
|
||||
parameter.
|
||||
|
||||
2.14) What non-unix ports are available?
|
||||
|
||||
@ -492,12 +491,16 @@ Section 2: Installation Questions
|
||||
the client is running on MS Windows, and communicates via TCP/IP to a
|
||||
server running on one of our supported Unix platforms.
|
||||
|
||||
A file win32.mak is included in the distributiion for making a Win32
|
||||
A file win32.mak is included in the distribution for making a Win32
|
||||
libpq library and psql.
|
||||
|
||||
Someone is attempting to port our PostgreSQL database server to
|
||||
Windows NT using the Cygnus Unix/NT porting library. He has gotten it
|
||||
compiled, but initdb is currently failing.
|
||||
The database server is now working on Windows NT using the Cygnus
|
||||
Unix/NT porting library. The only feature missing is dynamic loading
|
||||
of user-defined functions/types. See
|
||||
http://www.askesis.nl/AskesisPostgresIndex.html for more information.
|
||||
|
||||
There is another port using U/Win at
|
||||
http://surya.wipro.com/uwin/ported.html.
|
||||
_________________________________________________________________
|
||||
|
||||
Section 3: PostgreSQL Features
|
||||
@ -569,22 +572,28 @@ Section 3: PostgreSQL Features
|
||||
Tuples do not cross 8k boundaries so a 5k tuple will require 8k of
|
||||
storage.
|
||||
|
||||
3.7) I defined indices but my queries don't seem to make use of them. Why?
|
||||
3.7) My queries are slow or don't make use of the indexes. Why?
|
||||
|
||||
PostgreSQL does not automatically maintain statistics. One has to make
|
||||
an explicit vacuum call to update the statistics. After statistics are
|
||||
updated, the optimizer knows how many rows in the table, and can
|
||||
better decide if it should use indices. Note that the optimizer does
|
||||
not use indices in cases when the table is small because a sequentail
|
||||
scan would be faster. For column-specific optimization statistics, use
|
||||
vacuum analyze.
|
||||
not use indices in cases when the table is small because a sequential
|
||||
scan would be faster.
|
||||
|
||||
For column-specific optimization statistics, use vacuum analyze.
|
||||
Vacuum analyze is important for complex multi-join queries, so the
|
||||
optimizer can estimate the number of rows returned from each table,
|
||||
and choose the proper join order. The backend does not keep track of
|
||||
column statistics on its own, and vacuum analyze must be run to
|
||||
collect them periodically.
|
||||
|
||||
Indexes are not used for order by operations.
|
||||
|
||||
When using wildcard operators like LIKE or ~, indices can only be used
|
||||
if the beginning of the search is anchored to the start of the string.
|
||||
So, to use indices, LIKE searches can should not begin with %, and
|
||||
~(regular expression searches) should start with ^.
|
||||
When using wild-card operators like LIKE or ~, indices can only be
|
||||
used if the beginning of the search is anchored to the start of the
|
||||
string. So, to use indices, LIKE searches can should not begin with %,
|
||||
and ~(regular expression searches) should start with ^.
|
||||
|
||||
3.8) How do I do regular expression searches? case-insensitive regexp
|
||||
searching?
|
||||
@ -681,9 +690,9 @@ BYTEA bytea variable-length array of bytes
|
||||
CREATE TABLE new_table (mycol int);
|
||||
INSERT INTO new_table SELECT oid, mycol FROM old_table;
|
||||
|
||||
Tids are used to indentify specific physical rows with block and
|
||||
offset values. Tids change after rows are modified or reloaded. They
|
||||
are used by index entries to point to physical rows.
|
||||
Tids are used to identify specific physical rows with block and offset
|
||||
values. Tids change after rows are modified or reloaded. They are used
|
||||
by index entries to point to physical rows.
|
||||
|
||||
3.18) What is the meaning of some of the terms used in PostgreSQL?
|
||||
|
||||
@ -794,10 +803,8 @@ Section 4: Extending PostgreSQL
|
||||
4.2) I get messages of the type NOTICE:PortalHeapMemoryFree: 0x402251d0 not
|
||||
in alloc set!
|
||||
|
||||
You are pfree'ing something that was not palloc'ed. When writing
|
||||
user-defined functions, do not include the file "libpq-fe.h". Doing so
|
||||
will cause your palloc to be a malloc instead of a free. Then, when
|
||||
the backend pfrees the storage, you get the notice message.
|
||||
You are pfree'ing something that was not palloc'ed. Beware of mixing
|
||||
malloc/free and palloc/pfree.
|
||||
|
||||
4.3) I've written some nifty new types and functions for PostgreSQL.
|
||||
|
||||
|
98
doc/FAQ_CVS
98
doc/FAQ_CVS
@ -1,84 +1,66 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>PostgreSQL: Getting the source via CVS</title>
|
||||
</head>
|
||||
<body bgcolor=white text=black link=blue vlink=purple>
|
||||
|
||||
<font size="+3">Getting the source via CVS</font>
|
||||
Getting the source via CVS
|
||||
|
||||
<p>If you would like to keep up with the current sources on a regular
|
||||
If you would like to keep up with the current sources on a regular
|
||||
basis, you can fetch them from our CVS server and then use CVS to
|
||||
retrieve updates from time to time.
|
||||
|
||||
<P>To do this you first need a local copy of CVS (Concurrent Version Control
|
||||
System), which you can get from
|
||||
<A HREF="http://www.cyclic.com/">http://www.cyclic.com/</A> or
|
||||
any GNU software archive site. Currently we recommend version 1.9.
|
||||
To do this you first need a local copy of CVS (Concurrent Version
|
||||
Control System), which you can get from http://www.cyclic.com/ or any
|
||||
GNU software archive site. Currently we recommend version 1.9.
|
||||
|
||||
<P>Once you have installed the CVS software, do this:
|
||||
<PRE>
|
||||
Once you have installed the CVS software, do this:
|
||||
cvs -d :pserver:anoncvs@postgresql.org:/usr/local/cvsroot login
|
||||
</PRE>
|
||||
You will be prompted for a password; enter '<tt>postgresql</tt>'.
|
||||
You should only need to do this once, since the password will be
|
||||
saved in <tt>.cvspass</tt> in your home directory.
|
||||
|
||||
<P>Having logged in, you are ready to fetch the PostgreSQL sources.
|
||||
Do this:
|
||||
<PRE>
|
||||
You will be prompted for a password; enter 'postgresql'. You should
|
||||
only need to do this once, since the password will be saved in
|
||||
.cvspass in your home directory.
|
||||
|
||||
Having logged in, you are ready to fetch the PostgreSQL sources. Do
|
||||
this:
|
||||
cvs -z3 -d :pserver:anoncvs@postgresql.org:/usr/local/cvsroot co -P pgsql
|
||||
</PRE>
|
||||
which will install the PostgreSQL sources into a subdirectory <tt>pgsql</tt>
|
||||
of the directory you are currently in.
|
||||
|
||||
<P>(If you have a fast link to the Internet, you may not need <tt>-z3</tt>,
|
||||
which instructs CVS to use gzip compression for transferred data. But
|
||||
on a modem-speed link, it's a very substantial win.)
|
||||
which will install the PostgreSQL sources into a subdirectory pgsql of
|
||||
the directory you are currently in.
|
||||
|
||||
<P>This initial checkout is a little slower than simply downloading
|
||||
a <tt>tar.gz</tt> file; expect it to take 40 minutes or so if you
|
||||
have a 28.8K modem. The advantage of CVS doesn't show up until you
|
||||
want to update the file set later on.
|
||||
(If you have a fast link to the Internet, you may not need -z3, which
|
||||
instructs CVS to use gzip compression for transferred data. But on a
|
||||
modem-speed link, it's a very substantial win.)
|
||||
|
||||
<P>Whenever you want to update to the latest CVS sources, <tt>cd</tt> into
|
||||
the <tt>pgsql</tt> subdirectory, and issue
|
||||
<PRE>
|
||||
This initial checkout is a little slower than simply downloading a
|
||||
tar.gz file; expect it to take 40 minutes or so if you have a 28.8K
|
||||
modem. The advantage of CVS doesn't show up until you want to update
|
||||
the file set later on.
|
||||
|
||||
Whenever you want to update to the latest CVS sources, cd into the
|
||||
pgsql subdirectory, and issue
|
||||
cvs -z3 update -d -P
|
||||
</PRE>
|
||||
This will fetch only the changes since the last time you updated.
|
||||
You can update in just a couple of minutes, typically, even over
|
||||
a modem-speed line.
|
||||
|
||||
<P>You can save yourself some typing by making a file <tt>.cvsrc</tt>
|
||||
in your home directory that contains
|
||||
This will fetch only the changes since the last time you updated. You
|
||||
can update in just a couple of minutes, typically, even over a
|
||||
modem-speed line.
|
||||
|
||||
<PRE>
|
||||
You can save yourself some typing by making a file .cvsrc in your home
|
||||
directory that contains
|
||||
cvs -z3
|
||||
update -d -P
|
||||
</PRE>
|
||||
|
||||
This supplies the <tt>-z3</tt> option to all cvs commands, and the
|
||||
<tt>-d</tt> and <tt>-P</tt> options to cvs update. Then you just have
|
||||
to say
|
||||
<PRE>
|
||||
This supplies the -z3 option to all cvs commands, and the -d and -P
|
||||
options to cvs update. Then you just have to say
|
||||
cvs update
|
||||
</PRE>
|
||||
|
||||
to update your files.
|
||||
|
||||
<P><strong>CAUTION:</strong> some versions of CVS have a bug that
|
||||
causes all checked-out files to be stored world-writable in your
|
||||
directory. If you see that this has happened, you can do something like
|
||||
<PRE>
|
||||
CAUTION: some versions of CVS have a bug that causes all checked-out
|
||||
files to be stored world-writable in your directory. If you see that
|
||||
this has happened, you can do something like
|
||||
chmod -R go-w pgsql
|
||||
</PRE>
|
||||
|
||||
to set the permissions properly. This bug is allegedly fixed in the
|
||||
latest beta version of CVS, 1.9.28 ... but it may have other, less
|
||||
predictable bugs.
|
||||
|
||||
<P>CVS can do a lot of other things, such as fetching prior revisions
|
||||
of the PostgreSQL sources rather than the latest development version.
|
||||
For more info consult the manual that comes with CVS, or see the online
|
||||
documentation at <A HREF="http://www.cyclic.com/">http://www.cyclic.com/</A>.
|
||||
|
||||
</body>
|
||||
</html>
|
||||
CVS can do a lot of other things, such as fetching prior revisions of
|
||||
the PostgreSQL sources rather than the latest development version. For
|
||||
more info consult the manual that comes with CVS, or see the online
|
||||
documentation at http://www.cyclic.com/.
|
||||
|
@ -249,7 +249,7 @@ s
|
||||
should take the HeapTuple pointer, and use the GETSTRUCT() macro to
|
||||
access the table-specific start of the tuple. You then cast the
|
||||
pointer as a Form_pg_proc pointer if you are accessing the pg_proc
|
||||
table, or TypeTupleForm if you are accessing pg_type. You can then
|
||||
table, or Form_pg_type if you are accessing pg_type. You can then
|
||||
access the columns by using a structure pointer:
|
||||
|
||||
((Form_pg_class) GETSTRUCT(tuple))->relnatts
|
||||
|
63
doc/FAQ_HPUX
Normal file
63
doc/FAQ_HPUX
Normal file
@ -0,0 +1,63 @@
|
||||
|
||||
User
|
||||
|
||||
* Tutorial - for those not familiar with PostgreSQL
|
||||
* User's Guide - updated for PostgreSQL 6.3 (new html 98-08-16)
|
||||
* Administrator's Guide - help in installing and managing PostgreSQL
|
||||
(new html 98-08-16)
|
||||
* Programmer's Guide - for those programming in PostgreSQL, using
|
||||
various interfaces (new html 98-08-16)
|
||||
* Integrated Document (includes others above) - for those
|
||||
programming in PostgreSQL, using various interfaces (new html
|
||||
98-08-16)
|
||||
* The FAQ (Frequently Asked Questions) is available in
|
||||
+ English
|
||||
+ Japanese
|
||||
+ Korean by Khan
|
||||
* Platform-specific FAQ's are available for
|
||||
+ Linux
|
||||
o English by Andrew Martin
|
||||
o Japanese by Jun Kuwamura
|
||||
o Korean by Khan
|
||||
o Italian by Daniele Medri
|
||||
+ Irix
|
||||
+ HP-UX
|
||||
|
||||
New versions of the User's Guide
|
||||
|
||||
Developers
|
||||
|
||||
* How PostgreSQL Processes a Query - a guide to all modules and
|
||||
directories, including a flowchart
|
||||
* Developer's FAQ
|
||||
+ English by Bruce Momjian
|
||||
+ Korean by Khan
|
||||
* Developer's Guide - for contributing to the PostgreSQL
|
||||
distribution
|
||||
* Anon-CVS access to source code
|
||||
|
||||
Misc
|
||||
|
||||
More information regarding the documentation, contact information, and
|
||||
SQL references, read the Appendices.
|
||||
|
||||
The 6.3.2 man pages have been HTML-ized by Aleksey Dashevsky
|
||||
(lyolik@luckynet.co.il). We are currently transitioning to the
|
||||
SGML-based documentation mentioned above. However, the man pages may
|
||||
contain information not yet in the new documentation. In particular,
|
||||
the man pages for SQL commands and for programs such as psql contain
|
||||
the best available information for now. pod2html for the perl5
|
||||
interface is also current.
|
||||
|
||||
The TODO List includes information on what has recently been completed
|
||||
and what we are planning on doing.
|
||||
_________________________________________________________________
|
||||
|
||||
If you have questions about this website, please contact our
|
||||
webmaster.
|
||||
|
||||
This page was last modified 18:00:01 on Saturday, 28 November 1998.
|
||||
|
||||
Copyright <20> 1994-8 PostgreSQL Organization
|
||||
|
||||
All rights reserved.
|
551
doc/FAQ_Irix
551
doc/FAQ_Irix
@ -1,490 +1,63 @@
|
||||
======================================================
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL >=V6.1
|
||||
IRIX Specific
|
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||
======================================================
|
||||
last updated: Mon Mar 05 17:00:00 GMT 1998
|
||||
|
||||
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
|
||||
|
||||
Changes in this version (* = modified, + = new, - = removed):
|
||||
*1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
+1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
|
||||
This file is divided approximately as follows:
|
||||
1.*) Installing PostgreSQL
|
||||
2.*) Uninstalling PostgreSQL
|
||||
3.*) Extending PostgreSQL
|
||||
|
||||
|
||||
Questions answered:
|
||||
1.1) What extra items do I need to install PostgreSQL under Irix?
|
||||
1.2) What changes do I need to make to src/Makefile.global?
|
||||
1.3) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
1.4) Are there any other changes I should make?
|
||||
1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
1.6) The make fails with the following message:
|
||||
ld32: ERROR 4: Conflicting flag setting: -call_shared
|
||||
1.7) Why won't it link? (Problems with lorder)
|
||||
1.8) I have major problems with IRIX 6!
|
||||
1.9) Why does lex fail with PostgreSQL 6.2.1?
|
||||
1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
2.1) Why can't I move the executable files?
|
||||
3.1) How do I compile a C program to create a function for extending
|
||||
PostgreSQL
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 1: Installing PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
1.1) What extra items do I need to install PostgreSQL under Irix?
|
||||
|
||||
You *must* have the following installed:
|
||||
a) Gnu make (installed as gmake)
|
||||
|
||||
You are recommended to install the following:
|
||||
a) GNU install (installed as ginstall)
|
||||
(This is part of the GNU fileutils package)
|
||||
|
||||
You may choose to install the following:
|
||||
a) GNU readline library (if you wish psql to have readline
|
||||
support).
|
||||
b) tcl/tk (if you wish to compile pgtclsh)
|
||||
|
||||
1.2) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom?
|
||||
|
||||
The easiest way to do this is to use the customize script in
|
||||
the src directory.
|
||||
|
||||
You *must* set the following variables:
|
||||
PORTNAME= irix5
|
||||
|
||||
You will also need to change the following to match your own
|
||||
installation:
|
||||
POSTGRESDIR
|
||||
|
||||
If you switch on the USE_TCL option, you will need to set these:
|
||||
TCL_INCDIR=
|
||||
TCL_LIBDIR=
|
||||
TCL_LIB =
|
||||
TK_INCDIR=
|
||||
TK_LIBDIR=
|
||||
TK_LIB =
|
||||
|
||||
You may also make any other changes you need as documented in
|
||||
the INSTALL file and in Makefile.global
|
||||
|
||||
1.3) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific).
|
||||
It is fixed in 1.09 and above.
|
||||
|
||||
1.4) Are there any other changes I should make?
|
||||
|
||||
If you have installed the GNU install program (ginstall), you
|
||||
should add the following line to src/Makefile.custom:
|
||||
CUSTOM_INSTALL=ginstall
|
||||
|
||||
For an explanation as to why this is a good idea, see Question 2.1
|
||||
Ginstall is part of the GNU fileutils package.
|
||||
|
||||
|
||||
1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
|
||||
Instructions for PostgreSQL V6.3 are answered in Question 1.10!
|
||||
|
||||
Irix 6.2-6.4 has a bug in ld which mishandles the addresses of
|
||||
static procedures when object files are assembled into
|
||||
larger object files using 'ld -r'. This bug has been reported
|
||||
to Silicon Graphics.
|
||||
|
||||
One option is to use the Gnu version of ld. Alternatively,
|
||||
the following patch should be applied as a workaround.
|
||||
(Supplied by Bob Bruccoleri <bruc@bms.com>)
|
||||
|
||||
*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
|
||||
--- ./backend/Makefile Thu Jun 5 16:47:27 1997
|
||||
***************
|
||||
*** 54,60 ****
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
--- 54,64 ----
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
|
||||
|
||||
|
||||
1.6) The make fails with the following message:
|
||||
ld32: ERROR 4: Conflicting flag setting: -call_shared
|
||||
|
||||
If gmake fails in .../src/backend while building obj/ACCESS.o
|
||||
with a message from ld32, you can work around this by using
|
||||
ld for the LD environment variable rather than cc.
|
||||
|
||||
The problem has been observed under Irix 5.3 when compiling both
|
||||
Postgres95-1.09 and PostgreSQL-6.2Beta6, but on some systems
|
||||
these appear to compile with no such problems.
|
||||
|
||||
Fix supplied by Brian Sanders (bsanders@netcom.com,
|
||||
brian@fresnelsoft.com)
|
||||
|
||||
|
||||
1.7) Why won't it link? (Problems with lorder)
|
||||
|
||||
According to the IRIX man pages, lorder is useless, but harmless
|
||||
under IRIX. However, it has caused problems for some people
|
||||
using both IRIX 6.2.
|
||||
|
||||
The solution is to add the following line to
|
||||
.../src/makefiles/Makefile.irix5
|
||||
|
||||
MK_NO_LORDER=true
|
||||
|
||||
|
||||
1.8) I have major problems with IRIX 6!
|
||||
|
||||
The following is quoted directly from Bob Bruccoleri <bruc@bms.com>
|
||||
|
||||
There is a really nasty loader bug in the compiler system (7.1)
|
||||
on Irix 6.x, and the error that Lasse Petersen is the result of it.
|
||||
Here is the original message. I don't know if all the changes have been
|
||||
folded into the current release.
|
||||
|
||||
Date: Fri, 06 Jun 1997 17:12:20 -0400 (EDT)
|
||||
From: bruc@bms.com (Robert Bruccoleri)
|
||||
Subject: [PORTS] Patches for Irix 6.4
|
||||
|
||||
I have worked out how to compile PostgreSQL on Irix 6.4 using the -n32 compiler
|
||||
mode and version 7.1 of the C compiler. (The n32 compiler use 32 bits addressing,
|
||||
but allows access to all the instructions in the MIPS4 instruction set.)
|
||||
There were several problems:
|
||||
|
||||
1) The ld command is not referenced as a macro in all the Makefiles. On
|
||||
this platform, you have to include -n32 on all the ld commands. Makefiles
|
||||
were changed as needed.
|
||||
|
||||
2) There is a bug in "ld" which mishandles the addresses of static procedures
|
||||
when object files are assembled into larger object files using "ld -r".
|
||||
Because of this, I put a hack into src/backend/Makefile to avoid all the
|
||||
SUBSYS.o files and just link all the objects. I have contacted SGI about the
|
||||
problem, and hopefully, it will be fixed in the near future.
|
||||
|
||||
3) Lots of warnings are generated from the compiler. Since the regression
|
||||
tests worked OK, I didn't attempt to fix them. If anyone wants the compilation
|
||||
log, please let me know, and I'll email it to you.
|
||||
|
||||
The version of postgresql was 970602. Here is Makefile.custom:
|
||||
|
||||
CUSTOM_COPT = -O2 -n32
|
||||
MK_NO_LORDER = 1
|
||||
LD = ld -n32
|
||||
CC += -n32
|
||||
|
||||
Here are the patches:
|
||||
|
||||
*** ./backend/access/Makefile.orig Sun Nov 10 00:00:15 1996
|
||||
- --- ./backend/access/Makefile Tue Jun 3 10:22:32 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR = ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
OBJS = common/SUBSYS.o gist/SUBSYS.o hash/SUBSYS.o heap/SUBSYS.o \
|
||||
index/SUBSYS.o rtree/SUBSYS.o nbtree/SUBSYS.o transam/SUBSYS.o
|
||||
|
||||
|
||||
*** ./backend/bootstrap/Makefile.orig Fri Apr 18 06:00:23 1997
|
||||
- --- ./backend/bootstrap/Makefile Tue Jun 3 10:23:59 1997
|
||||
***************
|
||||
*** 38,44 ****
|
||||
all: SUBSYS.o
|
||||
|
||||
SUBSYS.o: $(OBJS)
|
||||
! ld -r -o SUBSYS.o $(OBJS)
|
||||
|
||||
# bootstrap.o's dependency on bootstrap_tokens.h is computed by the
|
||||
# make depend, but we state it here explicitly anyway because
|
||||
- --- 38,44 ----
|
||||
all: SUBSYS.o
|
||||
|
||||
SUBSYS.o: $(OBJS)
|
||||
! $(LD) -r -o SUBSYS.o $(OBJS)
|
||||
|
||||
# bootstrap.o's dependency on bootstrap_tokens.h is computed by the
|
||||
# make depend, but we state it here explicitly anyway because
|
||||
|
||||
*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
|
||||
- --- ./backend/Makefile Thu Jun 5 16:47:27 1997
|
||||
***************
|
||||
*** 54,60 ****
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
- --- 54,64 ----
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
***************
|
||||
*** 116,122 ****
|
||||
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
|
||||
global1.bki.source local1_template1.bki.source \
|
||||
libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
|
||||
!
|
||||
$(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
|
||||
ifeq ($(MAKE_EXPORTS), true)
|
||||
$(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
|
||||
- --- 120,126 ----
|
||||
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
|
||||
global1.bki.source local1_template1.bki.source \
|
||||
libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
|
||||
!
|
||||
$(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
|
||||
ifeq ($(MAKE_EXPORTS), true)
|
||||
$(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
|
||||
|
||||
*** ./backend/optimizer/Makefile.orig Wed Feb 19 12:00:34 1997
|
||||
- --- ./backend/optimizer/Makefile Tue Jun 3 10:39:47 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR= ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
all: submake SUBSYS.o
|
||||
|
||||
OBJS = path/SUBSYS.o plan/SUBSYS.o prep/SUBSYS.o util/SUBSYS.o geqo/SUBSYS.o
|
||||
|
||||
*** ./backend/libpq/pqcomprim.c.orig Mon May 26 00:00:23 1997
|
||||
- --- ./backend/libpq/pqcomprim.c Fri Jun 6 16:02:24 1997
|
||||
***************
|
||||
*** 32,40 ****
|
||||
# define hton_l(n) (ntoh_l(n))
|
||||
# else /* BYTE_ORDER != BIG_ENDIAN */
|
||||
# if BYTE_ORDER == PDP_ENDIAN
|
||||
! # #error PDP_ENDIAN macros not written yet
|
||||
# else /* BYTE_ORDER != anything known */
|
||||
! # #error BYTE_ORDER not defined as anything understood
|
||||
# endif /* BYTE_ORDER == PDP_ENDIAN */
|
||||
# endif /* BYTE_ORDER == BIG_ENDIAN */
|
||||
#endif /* BYTE_ORDER == LITTLE_ENDIAN */
|
||||
- --- 32,40 ----
|
||||
# define hton_l(n) (ntoh_l(n))
|
||||
# else /* BYTE_ORDER != BIG_ENDIAN */
|
||||
# if BYTE_ORDER == PDP_ENDIAN
|
||||
! # error PDP_ENDIAN macros not written yet
|
||||
# else /* BYTE_ORDER != anything known */
|
||||
! # error BYTE_ORDER not defined as anything understood
|
||||
# endif /* BYTE_ORDER == PDP_ENDIAN */
|
||||
# endif /* BYTE_ORDER == BIG_ENDIAN */
|
||||
#endif /* BYTE_ORDER == LITTLE_ENDIAN */
|
||||
|
||||
*** ./backend/storage/Makefile.orig Sun Nov 10 00:01:06 1996
|
||||
- --- ./backend/storage/Makefile Tue Jun 3 10:41:29 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR= ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
all: submake SUBSYS.o
|
||||
|
||||
OBJS = buffer/SUBSYS.o file/SUBSYS.o ipc/SUBSYS.o large_object/SUBSYS.o \
|
||||
|
||||
|
||||
|
||||
|
||||
1.9) Why does lex fail with PostgreSQL 6.2.1?
|
||||
|
||||
IRIX 5.3 lex has been reported to fail in
|
||||
postgresql-6.2.1/src/backend/parser with the error:
|
||||
|
||||
lex scan.l
|
||||
"scan.l":line 86: Error: Invalid request %x xc
|
||||
gmake[2]: *** [scan.c] Error 1
|
||||
|
||||
The answer is to use GNU flex 2.5.4 or later. Use the command
|
||||
flex --version
|
||||
to check you have a new enough version of flex
|
||||
|
||||
|
||||
1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
|
||||
Irix 6.2-6.4 has a bug in ld which mishandles the addresses of
|
||||
static procedures when object files are assembled into
|
||||
larger object files using 'ld -r'. This bug has been reported
|
||||
to Silicon Graphics.
|
||||
|
||||
Depending on your Irix installation you may also encounter
|
||||
2 other problems detailed below: Conflict in C standards,
|
||||
Conflict in library functions.
|
||||
|
||||
a) Solving the ld bug
|
||||
---------------------
|
||||
|
||||
One option is to use the Gnu version of ld. Alternatively,
|
||||
the following patch should be applied as a workaround.
|
||||
(Supplied by Bob Bruccoleri <bruc@bms.com> and modified for
|
||||
PostgreSQL V6.3 by Lasse Hiller Petersen <lassehp@imv.aau.dk>)
|
||||
|
||||
Apply the following patch:
|
||||
|
||||
*** ./backend/Makefile.orig Tue Mar 3 15:33:58 1998
|
||||
--- ./backend/Makefile Tue Mar 3 15:39:27 1998
|
||||
***************
|
||||
*** 63,69 ****
|
||||
global1.description
|
||||
local1_template1.description
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
--- 63,73 ----
|
||||
global1.description
|
||||
local1_template1.description
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
|
||||
|
||||
|
||||
Lasse configured with ./configure --enable-locale
|
||||
and modified Makefile.custom to contain:
|
||||
CC = cc -n32
|
||||
LD = ld -n32
|
||||
|
||||
He reports that the installation without -n32 works fine too,
|
||||
but the -n32 was required for compatibility with his Perl
|
||||
installation. His system was an Origin200 running IRIX64 v6.4.
|
||||
|
||||
|
||||
b) Conflict in C standards
|
||||
--------------------------
|
||||
|
||||
I have found that the following patch is also necessary in order
|
||||
to prevent a duplicate definition of a Union used for semaphores.
|
||||
Apply the following patch to:
|
||||
.../src/makefile/Makefile.irix5:
|
||||
|
||||
*** src/makefiles/Makefile.irix5.orig Thu Mar 5 16:59:58 1998
|
||||
--- src/makefiles/Makefile.irix5 Thu Mar 5 17:01:13 1998
|
||||
***************
|
||||
*** 6,9 ****
|
||||
%.so: %.o
|
||||
$(LD) -G -Bdynamic -shared -o $@ $<
|
||||
|
||||
!
|
||||
--- 6,9 ----
|
||||
%.so: %.o
|
||||
$(LD) -G -Bdynamic -shared -o $@ $<
|
||||
|
||||
! CFLAGS+= -U_NO_XOPEN4
|
||||
|
||||
i.e. the addition of the line:
|
||||
CFLAGS+= -U_NO_XOPEN4
|
||||
|
||||
This is needed to stop the semun union being redefined in
|
||||
/usr/include/sys/sem.h
|
||||
|
||||
c) Conflict in library functions
|
||||
--------------------------------
|
||||
|
||||
In addition, if you have the nsl and crypt libraries these will
|
||||
conflict with the required definitions. I think that libnsl.a
|
||||
may be the Netware socket library (or something similar). In
|
||||
any case, if you have these libraries, they will be added to
|
||||
Makefile.global and you will need to remove them.
|
||||
|
||||
Thus, you should edit .../src/Makefile.global. Goto (approximately)
|
||||
line 217 where LDFLAGS= is set and remove -lnsl and -lcrypt
|
||||
from this line.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 2: Deinstalling PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
2.1) Why can't I move the executable files?
|
||||
|
||||
By default, the IRIX port uses the BSD compatible version of
|
||||
install from /usr/bin/X11. If you read the man page for this
|
||||
version of install, you will see that it is not meant for
|
||||
end-user use; it has the interesting side-effect of chowning
|
||||
files it installs to root.
|
||||
|
||||
You should still be able to delete the files as you (the
|
||||
postgres user) will own the directory in which they are
|
||||
stored.
|
||||
|
||||
The normal IRIX install program cannot be used easily as it
|
||||
takes its arguments in the reverse order. It is therefore
|
||||
recommended to use the GNU version of install (ginstall).
|
||||
See Question 1.4
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 3: Extending PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
3.1) How do I compile a C program to create a function for extending
|
||||
PostgreSQL
|
||||
|
||||
Here is a sample command line:
|
||||
|
||||
cc -I/usr/local/PostgreSQL/include/ -I/usr/local/PostgreSQL/src/backend
|
||||
-shared -o funcs.so funcs.c
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Dr. Andrew C.R. Martin University College London
|
||||
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
|
||||
URL: http://www.biochem.ucl.ac.uk/~martin
|
||||
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
|
||||
User
|
||||
|
||||
* Tutorial - for those not familiar with PostgreSQL
|
||||
* User's Guide - updated for PostgreSQL 6.3 (new html 98-08-16)
|
||||
* Administrator's Guide - help in installing and managing PostgreSQL
|
||||
(new html 98-08-16)
|
||||
* Programmer's Guide - for those programming in PostgreSQL, using
|
||||
various interfaces (new html 98-08-16)
|
||||
* Integrated Document (includes others above) - for those
|
||||
programming in PostgreSQL, using various interfaces (new html
|
||||
98-08-16)
|
||||
* The FAQ (Frequently Asked Questions) is available in
|
||||
+ English
|
||||
+ Japanese
|
||||
+ Korean by Khan
|
||||
* Platform-specific FAQ's are available for
|
||||
+ Linux
|
||||
o English by Andrew Martin
|
||||
o Japanese by Jun Kuwamura
|
||||
o Korean by Khan
|
||||
o Italian by Daniele Medri
|
||||
+ Irix
|
||||
+ HP-UX
|
||||
|
||||
New versions of the User's Guide
|
||||
|
||||
Developers
|
||||
|
||||
* How PostgreSQL Processes a Query - a guide to all modules and
|
||||
directories, including a flowchart
|
||||
* Developer's FAQ
|
||||
+ English by Bruce Momjian
|
||||
+ Korean by Khan
|
||||
* Developer's Guide - for contributing to the PostgreSQL
|
||||
distribution
|
||||
* Anon-CVS access to source code
|
||||
|
||||
Misc
|
||||
|
||||
More information regarding the documentation, contact information, and
|
||||
SQL references, read the Appendices.
|
||||
|
||||
The 6.3.2 man pages have been HTML-ized by Aleksey Dashevsky
|
||||
(lyolik@luckynet.co.il). We are currently transitioning to the
|
||||
SGML-based documentation mentioned above. However, the man pages may
|
||||
contain information not yet in the new documentation. In particular,
|
||||
the man pages for SQL commands and for programs such as psql contain
|
||||
the best available information for now. pod2html for the perl5
|
||||
interface is also current.
|
||||
|
||||
The TODO List includes information on what has recently been completed
|
||||
and what we are planning on doing.
|
||||
_________________________________________________________________
|
||||
|
||||
If you have questions about this website, please contact our
|
||||
webmaster.
|
||||
|
||||
This page was last modified 18:00:01 on Saturday, 28 November 1998.
|
||||
|
||||
Copyright <20> 1994-8 PostgreSQL Organization
|
||||
|
||||
All rights reserved.
|
||||
|
763
doc/FAQ_Linux
763
doc/FAQ_Linux
@ -1,702 +1,63 @@
|
||||
=======================================================
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1
|
||||
Linux Specific
|
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||
=======================================================
|
||||
last updated: Fri Jun 19 13:35:00 BST 1998
|
||||
|
||||
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
|
||||
|
||||
Changes in this version (* = modified, + = new, - = removed):
|
||||
|
||||
+1.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
|
||||
and F_BYTEAIN being undeclared?
|
||||
|
||||
This file is divided approximately as follows:
|
||||
1.*) Installing PostgreSQL
|
||||
2.*) Compiling accessory programs
|
||||
3.*) Runtime Problems
|
||||
|
||||
|
||||
Questions answered:
|
||||
1.1) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom and are there any other changes needed?
|
||||
1.2) Why do I get problems with missing libreadline?
|
||||
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
|
||||
1.5) My compile of the backend dies complaining about the include file
|
||||
dlfcn.h missing
|
||||
1.6) GCC complains about an ignored option -fpic
|
||||
1.7) I get warnings of the form
|
||||
warning: cast from pointer to integer of different size
|
||||
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
|
||||
1.9) Why do I get problems with ld.so?
|
||||
1.10) Why do I get `yy_flush_buffer undefined' errors?
|
||||
1.11) How do I compile PostgreSQL on an a.out system?
|
||||
1.12) Why does make fail with:
|
||||
yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
|
||||
make: /usr/bin/make: cannot execute binary file
|
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
1.14) [DEBIAN] Where is libtermcap?
|
||||
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
|
||||
1.16) While trying to compile a development version under Linux, compilation
|
||||
fails with a message like:
|
||||
In file included from /usr/include/sys/sem.h:8,
|
||||
from ipc.c:37:
|
||||
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
|
||||
....
|
||||
make: *** [ipc.o] Error 1
|
||||
1.17) When compiling postgres, gcc reports signal 11 and aborts.
|
||||
1.18) Can I install 6.1.1 under MkLinux?
|
||||
1.19) Why does make exit or crash?
|
||||
1.20) How can I optimise for 486 or pentium processors
|
||||
1.21) Why do I get strange results with printing times (for example
|
||||
in the regression test 'timespan')?
|
||||
1.22) Why don't I get any shared libraries for libpq when I compile
|
||||
6.3.2?
|
||||
1.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
|
||||
and F_BYTEAIN being undeclared?
|
||||
2.1) The linker fails to find libX11 when compiling pgtclsh
|
||||
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when
|
||||
running scripts like createuser
|
||||
3.2) I run postmaster and after that system says 'Bad system call(Core
|
||||
dumped)'
|
||||
3.3) When I try to start the Postmaster, why do I get an error of the form
|
||||
Failed Assertion("!(file != 0):(null)", File:
|
||||
"/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
|
||||
!(file != 0) (0)
|
||||
initdb: could not create template database
|
||||
initdb: cleaning up.
|
||||
3.4) Why doesn't createuser work?
|
||||
3.5) Why do I get an error like:
|
||||
IpcMemoryCreate: memKey=155356396 , size=760632 ,
|
||||
permission=384IpcMemoryCreate: shmget(..., create, ...)
|
||||
failed: Invalid argument
|
||||
3.6) Why does psql fail with:
|
||||
psql: can't load library 'libpq.so.1'
|
||||
3.7) Other strange behaviour
|
||||
3.8) When PostgreSQL is running when the system is shutdown, Linux
|
||||
always fsck's the disk when rebooted.
|
||||
3.9) Why does Query 32 in the regression tests take so long?
|
||||
3.10) Why do I get funny rounding results in some date/time arithmetic,
|
||||
such as
|
||||
select '4 hours'::timespan;
|
||||
returning '3 hours 59 minutes 60 seconds'?
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 1: Compiling PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
1.1) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom and are there any other changes needed?
|
||||
|
||||
Changes to the makefiles are most easily made by running the
|
||||
customize shell script in the src directory which will write a
|
||||
Makefile.custom for you.
|
||||
|
||||
The only other change you may have to make is to replace
|
||||
Flex if you have version 2.5.3 which has a bug which generally
|
||||
manifests itself as createuser failing (See Question 3.4)
|
||||
|
||||
If you modify the makefiles by hand, you *must* set the
|
||||
following variable:
|
||||
PORTNAME= linux
|
||||
|
||||
You will also need to change the following to match your own
|
||||
installation:
|
||||
POSTGRESDIR
|
||||
|
||||
If you switch on the USE_TCL option, you will need to set these:
|
||||
TCL_INCDIR=
|
||||
TCL_LIBDIR=
|
||||
TCL_LIB=
|
||||
TK_INCDIR=
|
||||
TK_LIBDIR=
|
||||
TK_LIB=
|
||||
X11_INCDIR=
|
||||
X11_LIBDIR=
|
||||
X11_LIB=
|
||||
|
||||
On my Slackware3.0 system, these are:
|
||||
TCL_INCDIR= /usr/include/tcl
|
||||
TCL_LIBDIR= /usr/lib
|
||||
TCL_LIB= -ltcl
|
||||
TK_INCDIR= /usr/include/tcl
|
||||
TK_LIBDIR= /usr/lib
|
||||
TK_LIB= -ltk
|
||||
X11_INCDIR= /usr/include/X11
|
||||
X11_LIBDIR= /usr/X386/lib
|
||||
X11_LIB= -lX11
|
||||
|
||||
You may also make any other changes you need as documented in
|
||||
the INSTALL file and in Makefile.global
|
||||
|
||||
|
||||
1.2) Why do I get problems with missing libreadline?
|
||||
|
||||
Linux systems generally don't come with the GNU readline library
|
||||
installed. Either ensure you do not activate the readline options
|
||||
in src/Makefile.global or src/Makefile.custom or install the GNU
|
||||
readline library.
|
||||
|
||||
Note that Debian Linux (like FreeBSD) does come with readline
|
||||
installed.
|
||||
|
||||
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||
|
||||
This manifests itself as being unable to link with functions
|
||||
such as dlopen(), dlclose(), etc. during the last phase of the
|
||||
compilation.
|
||||
|
||||
The libdl library is used for dynamic linking of user-supplied
|
||||
functions at run-time. For some reason this library was missed out
|
||||
from the Redhat distribution. It seems that the latest Redhat 4.0
|
||||
(Colgate) fixes this.
|
||||
|
||||
RedHat now have a new ld.so RPM package on their FTP site.
|
||||
Simply grab:
|
||||
|
||||
ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.i386.rpm
|
||||
|
||||
Install the RPM file in the usual way and off you go!
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
There has been one report of a corrupted system resulting from
|
||||
programs accessing these libraries while updating them (not
|
||||
altogether surprising). Consequently it is a good idea to reboot
|
||||
the system before installing the new libraries and to
|
||||
have as little running as possible during this upgrade. Going
|
||||
into single-user mode is probably a good idea!
|
||||
|
||||
If you want to do it the hard way, you can obtain the library and the
|
||||
header file from:
|
||||
|
||||
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz
|
||||
|
||||
Alternatively, you may find precompiled binaries in
|
||||
distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb
|
||||
on the same site, or follow the instructions given for question 1.2 for
|
||||
correcting the same error with early releases of Slackware 3.1.
|
||||
Don't use this method unless you know what you are doing!
|
||||
|
||||
|
||||
|
||||
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
|
||||
|
||||
This manifests itself as being unable to link with functions
|
||||
such as dlopen(), dlclose(), etc. during the last phase of the
|
||||
compilation.
|
||||
|
||||
See the answer to question 1.3. Slackware up to version 3.0 was
|
||||
supplied with this library and include file and they seem to be
|
||||
back in again in the latest versions of 3.1, but the early 3.1
|
||||
releases (before 9th September 1996) had them missing and many
|
||||
CD-ROM versions will have been pressed from the first 3.1 releases.
|
||||
|
||||
There has been one report of a corrupted system resulting from
|
||||
programs accessing these libraries while updating them (not
|
||||
altogether surprising). Consequently it is a good idea to reboot
|
||||
the system before installing the new libraries and to
|
||||
have as little running as possible during this upgrade. Going
|
||||
into single-user mode is probably a good idea!
|
||||
|
||||
The easiest fix is to obtain the file ldso.tgz from the a4 disk of
|
||||
a more recent Slackware distribution and unpack this file
|
||||
from the root (/) directory, then do
|
||||
|
||||
sh install/doinst.sh
|
||||
|
||||
to complete the installation. Follow this with
|
||||
|
||||
ldconfig
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
If you want to install manually, you must first install the file
|
||||
dlfcn.h in /usr/include.
|
||||
|
||||
Second, install the file libdl.so.1.7.14 (or whatever the latest
|
||||
release is) in /lib, then do:
|
||||
|
||||
cd /lib
|
||||
ln -sf libdl.so.1.7.14 libdl.so.1
|
||||
ln -sf libdl.so.1 libdl.so
|
||||
|
||||
On some systems (depending on your GCC configuration) it may be
|
||||
necessary to do:
|
||||
|
||||
cd /usr/lib
|
||||
ln -sf /lib/libdl.so .
|
||||
|
||||
Finally
|
||||
|
||||
ldconfig
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
|
||||
1.5) My compile of the backend dies complaining about the include file
|
||||
dlfcn.h missing
|
||||
|
||||
See the answer to question 1.3/1.4. Don't forget that if you are using
|
||||
an a.out system you must first have installed the dld package
|
||||
(which is not supplied with most a.out systems) to have dlfcn.h
|
||||
at all. See Question 1.11.
|
||||
|
||||
|
||||
1.6) GCC complains about an ignored option -fpic
|
||||
|
||||
Earlier versions of GCC accepted either -fpic or -fPIC.
|
||||
It appears that more recent versions (V2.7.2?) require -fPIC.
|
||||
If you are using an ELF version of Linux, this can safely be
|
||||
ignored as -fPIC is the default.
|
||||
|
||||
You can correct this by editing src/Makefile.global and
|
||||
changing CFLAGS_SL
|
||||
|
||||
|
||||
1.7) I get warnings of the form
|
||||
warning: cast from pointer to integer of different size
|
||||
|
||||
These were seen in earlier versions of Postgres95 and could
|
||||
safely be ignored. PostgreSQL V6.0 should compile with no warnings
|
||||
except those related to system header files (which can also
|
||||
be safely ignored).
|
||||
|
||||
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
|
||||
|
||||
SuSE-Linux 4.2 has ncurses but not curses. 4.4 appears to have both.
|
||||
SuSE-Linux also has the termcap library is in /usr/lib/termcap
|
||||
instead of in /usr/lib.
|
||||
|
||||
PostgreSQL (up to V6.0)
|
||||
-----------------------
|
||||
Set the value of CURSES_LIB in src/Makefile.custom to -lncurses
|
||||
(or do this through the customize script).
|
||||
Add the following line to src/Makefile.custom:
|
||||
|
||||
LDADD_BE+= -L/usr/lib/termcap
|
||||
|
||||
You may need to edit src/bin/psql/Makefile and change:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+=
|
||||
to:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+= -ltermcap
|
||||
|
||||
PostgreSQL (V6.1)
|
||||
-----------------
|
||||
The configure script doesn't know to look in /usr/lib/termcap for
|
||||
the termcap library, so you should specify this as one of the
|
||||
library directories when asked for additional directories to
|
||||
search.
|
||||
|
||||
If this doesn't work (I don't have SuSE to verify that it does)
|
||||
then after running configure, you need to edit
|
||||
src/Makefile.global and add -ltermcap to the LDFLAGS line
|
||||
(after -lreadline). (Alternatively, you can modify
|
||||
src/Makefile.custom before running configure.)
|
||||
|
||||
Some versions of SuSE provide only ncurses, so you may need
|
||||
to force use of ncurses rather than curses by changing
|
||||
-lcurses to -lncurses. (Reported true for SuSE 5.1)
|
||||
|
||||
|
||||
1.9) Why do I get problems with ld.so?
|
||||
|
||||
If you get problems with ld.so, another library required under
|
||||
ELF for dynamic loading, then you have messed up your installation
|
||||
or (more likely) upgrade of Linux.
|
||||
|
||||
See the answers to Question 1.3/1.4. You may need to install
|
||||
ld.so.x.y.z in /lib and run ldconfig.
|
||||
|
||||
The most recent stable release of the ld package is 1.7.14
|
||||
At the time of writing, 1.8.x versions of ld are experimental.
|
||||
|
||||
1.10) Why do I get `yy_flush_buffer undefined' errors?
|
||||
|
||||
This isn't really Linux specific, but is common on older Linux
|
||||
installations. You must have a recent version of flex (2.5.2 or later)
|
||||
to compile PostgreSQL. Note that flex 2.5.3 has a bug: see
|
||||
Question 3.4.
|
||||
|
||||
1.11) How do I compile PostgreSQL on an a.out system?
|
||||
|
||||
First, you must install the dld library. This may be obtained
|
||||
from Sunsite as:
|
||||
Linux/libs/dld.3.2.7.tar.gz
|
||||
(ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz)
|
||||
|
||||
Second, add the following line to src/Makefile.custom:
|
||||
LINUX_ELF=
|
||||
(or use the customize script)
|
||||
|
||||
1.12) Why does make fail with:
|
||||
yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
|
||||
make: /usr/bin/make: cannot execute binary file
|
||||
|
||||
This was a problem in earlier versions of Postgres95. The default
|
||||
for PostgreSQL is to use bison -y rather than yacc.
|
||||
|
||||
yacc is generally implemented as a script which invokes bison -y
|
||||
For some reason (certain versions of make? certain versions of
|
||||
bash?) make is unable to execute this script file.
|
||||
|
||||
To correct this, simply edit src/mk/port/postgres.mk.linux
|
||||
and, at the end of the file, change:
|
||||
# YACC = bison -y
|
||||
to
|
||||
YACC = bison -y
|
||||
|
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific).
|
||||
It is fixed in 1.09 and 6.0
|
||||
|
||||
1.14) [DEBIAN] Where is libtermcap?
|
||||
|
||||
Debian Linux comes without the termcap library and uses ncurses
|
||||
(which uses terminfo instead). There is no need to change the
|
||||
CURSES_LIB variable in src/bin/psql/Makefile since Debian provides
|
||||
a link from libncurses to libcurses (unlike SuSE-Linux --- see
|
||||
Question 1.8).
|
||||
|
||||
You may need to edit src/bin/psql/Makefile and comment out the
|
||||
change:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+= -ltermcap
|
||||
to:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+=
|
||||
|
||||
|
||||
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
|
||||
|
||||
Yes! Michal Mosiewicz <mimo@lodz.pdi.net>
|
||||
(http://www.pdi.lodz.pl/~mimo) has kindly put together an RPM
|
||||
for PostgreSQL V6.0 on Intel architectures which he has uploaded to
|
||||
ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm
|
||||
|
||||
This is a pre-compiled version, the source RPM is on its
|
||||
was as I write (3rd Feb 1997).
|
||||
|
||||
1.16) While trying to compile a development version under Linux, compilation
|
||||
fails with a message like:
|
||||
In file included from /usr/include/sys/sem.h:8,
|
||||
from ipc.c:37:
|
||||
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
|
||||
....
|
||||
make: *** [ipc.o] Error 1
|
||||
|
||||
The problem is that Linux provides no prototypes for these
|
||||
inline functions. The solution is to go into the
|
||||
.../src/backend/storage/ipc directory and edit the Makefile.
|
||||
Change the line
|
||||
CFLAGS+=$(INCLUDE_OPT)
|
||||
to
|
||||
CFLAGS+=$(INCLUDE_OPT) -Wno-error
|
||||
|
||||
Do the same in the ../src/backend/storage/lmgr directory.
|
||||
|
||||
1.17) When compiling postgres, gcc reports signal 11 and aborts.
|
||||
More specifically:
|
||||
gcc: Internal compiler error: program cc1 got fatal
|
||||
signal 11
|
||||
|
||||
This may be a hardware/memory problem. PortgreSQL is a big
|
||||
program, and large gcc compilations (such as building
|
||||
PostgreSQL or bebuilding the kernel) stress memory like
|
||||
few other programs, resulting in errors that do not occur
|
||||
in normal operation. Lesser operating systems are also
|
||||
unlikely to stress the hardware to this degree so you
|
||||
may never see any problems under DOS/Windows.
|
||||
|
||||
More information on this problem at:
|
||||
http://www.bitwizard.nl/sig11
|
||||
|
||||
From this Sig11 FAQ, there appears to be a specific problem
|
||||
with Redhat 5.0 gcc running on Cyrix processors. See the
|
||||
URL above for more details!
|
||||
|
||||
1.18) Can I install 6.1.1 under MkLinux?
|
||||
|
||||
Tatsuo Ishii <t-ishii@sra.co.jp> has done this under
|
||||
MkLinux DR2.1 update2 after a small patch available from:
|
||||
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
|
||||
|
||||
1.19) Why does make exit or crash?
|
||||
|
||||
There have been a couple of reports of gmake either just
|
||||
exiting early or seg faulting. The latter problem was reported
|
||||
with gmake 3.74 - upgrading to 3.76.1 solved the problem.
|
||||
However, 3.74 is known to work fine in other people's setups.
|
||||
In short, try upgrading gmake to the latest version you can
|
||||
find before reporting this as a problem
|
||||
|
||||
1.20) How can I optimise for 486 or pentium processors
|
||||
|
||||
The default compiler flags perform no optimisation for 486
|
||||
or Pentium processors. To add such optimisation, edit
|
||||
Makefile.custom and add:
|
||||
|
||||
CFLAGS+= -m486
|
||||
|
||||
or (for the new compilers that most people are not yet running)
|
||||
|
||||
CFLAGS+= -mpentium
|
||||
or
|
||||
CFLAGS+= -mpentiumpro
|
||||
|
||||
1.21) Why do I get strange results with printing times (for example
|
||||
in the regression test 'timespan')?
|
||||
The times are appearing as: '4 hours 59 mins 60.00 secs'
|
||||
instead of '5 hours'
|
||||
|
||||
This is a problem with the glibc2 library which comes with
|
||||
Redhat 5.0. Update your glibc to the latest RedHat version
|
||||
for v5.0/hurricane. Anything prior to glibc-2.0.7 is likely
|
||||
to have the problem.
|
||||
|
||||
1.22) Why don't I get any shared libraries for libpq when I compile
|
||||
6.3.2?
|
||||
|
||||
There was some last minute breakage of the Linux configuration for
|
||||
v6.3.2. Look in ftp://postgresql.org/pub/patches/ for a few fix-ups,
|
||||
including a linux_elf patch.
|
||||
|
||||
1.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
|
||||
and F_BYTEAIN being undeclared?
|
||||
|
||||
The actual messages are something like:
|
||||
|
||||
-I/usr/include/readline -O2 -Wall -Wmissing-prototypes -I..
|
||||
-Wno-error -c bootstrap.c -o bootstrap.o
|
||||
bootstrap.c:160: `F_BOOLIN' undeclared here (not in a function)
|
||||
bootstrap.c:160: initializer element for `Procid[0].inproc' is not
|
||||
constant
|
||||
bootstrap.c:160: `F_BOOLOUT' undeclared here (not in a function)
|
||||
bootstrap.c:160: initializer element for `Procid[0].outproc' is not
|
||||
constant
|
||||
bootstrap.c:161: `F_BYTEAIN' undeclared here (not in a function)
|
||||
bootstrap.c:161: initializer element for `Procid[1].inproc' is not
|
||||
constant
|
||||
|
||||
This is tricky unless you know why it happens, as these constants
|
||||
don't seem to be defined anywhere.
|
||||
|
||||
The solution is to make sure that cpp is included in your path
|
||||
before you start the make.
|
||||
|
||||
On Redhat 5.1, cpp is in /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3
|
||||
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 2: Compiling accessory programs
|
||||
----------------------------------------------------------------------
|
||||
|
||||
2.1) The linker fails to find libX11 when compiling pgtclsh
|
||||
|
||||
Add the following to src/Makefile.custom
|
||||
X11_LIBDIR = /usr/X11R6/lib
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 3: Runtime Problems
|
||||
----------------------------------------------------------------------
|
||||
|
||||
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when
|
||||
running scripts like createuser
|
||||
|
||||
This is a bug in V1.06-V1.07 of Postgres and is fixed in V1.08
|
||||
and above.
|
||||
|
||||
3.2) I run postmaster and after that system says 'Bad system call(Core
|
||||
dumped)'
|
||||
|
||||
This indicates that you have not compiled shared memory support
|
||||
into your kernel. You need to recompile the Linux kernel to add this
|
||||
feature.
|
||||
|
||||
|
||||
3.3) When I try to start the Postmaster, why do I get an error of the form
|
||||
Failed Assertion("!(file != 0):(null)", File:
|
||||
"/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
|
||||
!(file != 0) (0)
|
||||
initdb: could not create template database
|
||||
initdb: cleaning up.
|
||||
|
||||
Your permissions on the file /dev/null are wrong.
|
||||
|
||||
ls -l /dev/null should give you something like:
|
||||
|
||||
crw-rw-rw- 1 root wheel 2, 2 Oct 8 18:41 /dev/null
|
||||
|
||||
Correct the permissions using:
|
||||
|
||||
chmod a+rw /dev/null
|
||||
|
||||
3.4) Why doesn't createuser work?
|
||||
|
||||
There is a problem with Version 2.5.3 of GNU flex and createuser.
|
||||
Your options are to downgrade flex to V2.5.2, upgrade to V2.5.4
|
||||
or apply a patch to V2.5.3 which is supplied in doc/README.flex
|
||||
You may obtain V2.5.4 from
|
||||
ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz
|
||||
|
||||
3.5) Why do I get an error like:
|
||||
IpcMemoryCreate: memKey=155356396 , size=760632 ,
|
||||
permission=384IpcMemoryCreate: shmget(..., create, ...)
|
||||
failed: Invalid argument
|
||||
|
||||
You haven't build IPC support into your Linux kernel. You
|
||||
will have to rebuild the kernel and switch on this option.
|
||||
|
||||
3.6) Why does psql fail with:
|
||||
psql: can't load library 'libpq.so.1'
|
||||
|
||||
Psql has been compiled to link dynamically with the libpq
|
||||
library.
|
||||
|
||||
To solve this, you should log in as root and edit the file
|
||||
/etc/ld.so.conf
|
||||
Add a single line at the end which gives the name of the
|
||||
PostgreSQL library directory (the lib subdirectory of your
|
||||
PostgreSQL installation) and run
|
||||
/sbin/ldconfig -v
|
||||
|
||||
Alternatively, (and if you don't have root access), you may
|
||||
use the LD_LIBRARY_PATH environment variable.
|
||||
|
||||
The LD_LIBRARY_PATH variable contains a colon separated list of
|
||||
paths to be searched for shared libraries. This list is
|
||||
searched before the libraries specified by ldconfig.
|
||||
|
||||
Therefore under Bash, you would do something like:
|
||||
export LD_LIBRARY_PATH='PathToPGSQL'/lib
|
||||
or, using tcsh
|
||||
setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
|
||||
replacing 'PathToPGSQL' with the appropriate path to your top level
|
||||
PostgreSQL directory
|
||||
|
||||
Note that the ldd command can be used on a dynamically linked
|
||||
executable to list the paths to all the shared libraries upon
|
||||
which the executable depends.
|
||||
|
||||
|
||||
3.7) Other strange behaviour
|
||||
|
||||
I'm not sure what the symptoms might be except for nothing
|
||||
working properly, but it has been pointed out that one needs
|
||||
to be careful that the dynamic loader loads the correct version
|
||||
of the libpq library. If you have old versions lying around
|
||||
in your library path (for example in /usr/lib) these may get
|
||||
loaded instead of the new version you intended to load. Make
|
||||
sure you get them out of the way and look at Q3.6 for
|
||||
details of loading libraries.
|
||||
|
||||
3.8) When PostgreSQL is running when the system is shutdown, Linux
|
||||
always fsck's the disk when rebooted.
|
||||
|
||||
There have been some reports of this happening and it seems
|
||||
to be a result of running PostgreSQL from /etc/inittab as
|
||||
suggested in the INSTALL document.
|
||||
|
||||
You are therefore recommended to start the postmaster from an
|
||||
rc script. Under a Slackware-like release, you would modify
|
||||
/etc/rc.d/rc.local to start the postmaster. Under a RedHat-like
|
||||
release you should create a SysV style script in
|
||||
/etc/rc.d/rc3.d based on the /etc/rc.d/init.d skeleton file.
|
||||
|
||||
There's a sample file in contrib/linux/postgres.init
|
||||
|
||||
Here's another sample file supplied by John Robinson
|
||||
<john@intelligent.co.uk> which you should modify as needed:
|
||||
|
||||
#!/bin/sh
|
||||
#
|
||||
# postgreSQL.init This shell script takes care of starting and stopping
|
||||
# the PostgreSQL postmaster.
|
||||
#
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
[ ${NETWORKING} = "no" ] && exit 0
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemons.
|
||||
echo -n "Starting postgres Postmaster daemon:"
|
||||
if [ -z "`pidofproc postmaster`" ]
|
||||
then
|
||||
su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &"
|
||||
echo -n " postmaster"
|
||||
else
|
||||
echo -n " (already running)"
|
||||
fi
|
||||
echo
|
||||
touch /var/lock/subsys/postgres
|
||||
;;
|
||||
stop)
|
||||
# Stop daemons.
|
||||
echo -n "Shutting down postgres Postmaster daemon: "
|
||||
killall -TERM postmaster 2>/dev/null
|
||||
killall -TERM postgres 2>/dev/null
|
||||
echo
|
||||
rm -f /var/lock/subsys/postgres
|
||||
;;
|
||||
*)
|
||||
echo "Usage: postgres {start|stop}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
|
||||
3.9) Why does Query 32 in the regression tests take so long?
|
||||
|
||||
This is due to a bug in regression scripts which only happens
|
||||
on linux boxes. There are two workarounds as far as I know
|
||||
(information from Tatsuo Ishii <t-ishii@sra.co.jp>):
|
||||
|
||||
1. change following in regress.sh:
|
||||
time postgres -texecutor -tplanner -Q bench < bench.sql
|
||||
to:
|
||||
postgres -texecutor -tplanner -Q bench < bench.sql
|
||||
|
||||
2. after running the test, remove a line at the very end of
|
||||
bench.out something like:
|
||||
85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
|
||||
then type:
|
||||
sh ./perquery < bench.out > & bench.out.perquery
|
||||
|
||||
|
||||
|
||||
3.10) Why do I get funny rounding results in some date/time arithmetic,
|
||||
such as
|
||||
select '4 hours'::timespan;
|
||||
returning '3 hours 59 minutes 60 seconds'?
|
||||
|
||||
You are running the new glibc2 libraries and have a version earlier than
|
||||
2.0.7. It is a math rounding problem in the library. Upgrade your library.
|
||||
----------------------------------------------------------------------------
|
||||
Dr. Andrew C.R. Martin University College London
|
||||
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
|
||||
URL: http://www.biochem.ucl.ac.uk/~martin
|
||||
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
|
||||
User
|
||||
|
||||
* Tutorial - for those not familiar with PostgreSQL
|
||||
* User's Guide - updated for PostgreSQL 6.3 (new html 98-08-16)
|
||||
* Administrator's Guide - help in installing and managing PostgreSQL
|
||||
(new html 98-08-16)
|
||||
* Programmer's Guide - for those programming in PostgreSQL, using
|
||||
various interfaces (new html 98-08-16)
|
||||
* Integrated Document (includes others above) - for those
|
||||
programming in PostgreSQL, using various interfaces (new html
|
||||
98-08-16)
|
||||
* The FAQ (Frequently Asked Questions) is available in
|
||||
+ English
|
||||
+ Japanese
|
||||
+ Korean by Khan
|
||||
* Platform-specific FAQ's are available for
|
||||
+ Linux
|
||||
o English by Andrew Martin
|
||||
o Japanese by Jun Kuwamura
|
||||
o Korean by Khan
|
||||
o Italian by Daniele Medri
|
||||
+ Irix
|
||||
+ HP-UX
|
||||
|
||||
New versions of the User's Guide
|
||||
|
||||
Developers
|
||||
|
||||
* How PostgreSQL Processes a Query - a guide to all modules and
|
||||
directories, including a flowchart
|
||||
* Developer's FAQ
|
||||
+ English by Bruce Momjian
|
||||
+ Korean by Khan
|
||||
* Developer's Guide - for contributing to the PostgreSQL
|
||||
distribution
|
||||
* Anon-CVS access to source code
|
||||
|
||||
Misc
|
||||
|
||||
More information regarding the documentation, contact information, and
|
||||
SQL references, read the Appendices.
|
||||
|
||||
The 6.3.2 man pages have been HTML-ized by Aleksey Dashevsky
|
||||
(lyolik@luckynet.co.il). We are currently transitioning to the
|
||||
SGML-based documentation mentioned above. However, the man pages may
|
||||
contain information not yet in the new documentation. In particular,
|
||||
the man pages for SQL commands and for programs such as psql contain
|
||||
the best available information for now. pod2html for the perl5
|
||||
interface is also current.
|
||||
|
||||
The TODO List includes information on what has recently been completed
|
||||
and what we are planning on doing.
|
||||
_________________________________________________________________
|
||||
|
||||
If you have questions about this website, please contact our
|
||||
webmaster.
|
||||
|
||||
This page was last modified 18:00:01 on Saturday, 28 November 1998.
|
||||
|
||||
Copyright <20> 1994-8 PostgreSQL Organization
|
||||
|
||||
All rights reserved.
|
||||
|
277
doc/TODO
277
doc/TODO
@ -1,13 +1,13 @@
|
||||
TODO list for PostgreSQL
|
||||
========================
|
||||
Last updated: Fri Nov 6 22:17:33 EST 1998
|
||||
Last updated: Fri Dec 18 00:15:58 EST 1998
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
The most recent version of this document can be viewed at
|
||||
the PostgreSQL WWW site, http://www.postgreSQL.org.
|
||||
|
||||
THE CHANGES FOR 6.4 APPEAR AT THE END OF THIS DOCUMENT
|
||||
THE CHANGES FOR 6.4.1 APPEAR AT THE END OF THIS DOCUMENT
|
||||
|
||||
A dash(-) marks changes to be in the next release.
|
||||
|
||||
@ -45,20 +45,6 @@ Developers who have claimed items are:
|
||||
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
|
||||
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
|
||||
|
||||
Additional 6.4 developers include:
|
||||
---------------------------------
|
||||
* Jun Kuwamura <juk@rccm.co.jp>
|
||||
* Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
|
||||
* Soonmyung. Hong <hong@lunaris.hanmesoft.co.kr>
|
||||
* Anders Hammarquist <iko@netg.se>
|
||||
* Jeroen van Vianen <jeroenv@design.nl>
|
||||
* Aldrin L. <aldrin@americasnet.com>
|
||||
* Pascal ANDRE <andre@via.ecp.fr>
|
||||
* Magnus Hagander <mha@edu.sollentuna.se>
|
||||
* Robert Bruccoleri <bruc@pluto.njcc.com>
|
||||
* Paul A Vixie <paul@vix.com>
|
||||
* Jacek Lasecki <jacek@sound.eti.pg.gda.pl>
|
||||
|
||||
RELIABILITY
|
||||
-----------
|
||||
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
|
||||
@ -83,11 +69,21 @@ RELIABILITY
|
||||
* computations in views fail:
|
||||
create view test as select usesysid * usesysid from pg_shadow;
|
||||
* views containing aggregates sometimes fail(Jan)
|
||||
* ALTER TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
|
||||
* SELECT DISTINCT i FROM dtest ORDER BY j generates strange output
|
||||
* fix memory leak in aborted transactions
|
||||
* array index references without table name cause problems
|
||||
* aggregates on array indexes crash backend
|
||||
* subqueries containing HAVING return incorrect results
|
||||
* DEFAULT handles single quotes in value by requiring too many quotes
|
||||
* make CURSOR valid even after you hit end of cursor
|
||||
* views with spaces in view name fail when referenced
|
||||
* plpgsql does not handle quoted mixed-case identifiers
|
||||
* do not allow bpchar column creation without length
|
||||
|
||||
ENHANCEMENTS
|
||||
------------
|
||||
* Replace table-level locking with row or page-level locking(Vadim)
|
||||
* Add SERIAL type
|
||||
* Transaction log, so re-do log can be on a separate disk
|
||||
* Allow transaction commits with rollback with no-fsync performance
|
||||
* More access control over who can create tables and access the database
|
||||
@ -120,7 +116,7 @@ ENHANCEMENTS
|
||||
* Add word index for text fields, maybe with trigrams, i.e.:
|
||||
* ' (cat | dog) & ! fox ' meaning text has cat aor dog, but not fox
|
||||
* Populate backend status area and write program to dump status data
|
||||
* Add ALTER TABLE DROP COLUMN feature
|
||||
* Add ALTER TABLE DROP/ALTER COLUMN feature
|
||||
* Allow INSERT INTO ... SELECT to convert column types
|
||||
* Add syslog functionality(Marc)
|
||||
* Add STDDEV/VARIANCE() function for standard deviation computation/variance
|
||||
@ -167,7 +163,6 @@ ENHANCEMENTS
|
||||
* Restructure storing of GRANT permission information to allow +-=
|
||||
* allow psql \copy to allow delimiters
|
||||
* allow international error message support and add error codes
|
||||
* allow ORDER BY a function(David)
|
||||
* allow usernames with dashes(GRANT fails)
|
||||
* add a function to return the last inserted oid, for use in psql scripts
|
||||
* allow creation of functional indexes to use default types
|
||||
@ -175,13 +170,27 @@ ENHANCEMENTS
|
||||
* CREATE VIEW myview (name) AS SELECT lname FROM wages fails
|
||||
* do autocommit so always in a transaction block
|
||||
* add SIMILAR TO to allow character classes, 'pg_[a-c]%'
|
||||
* allow function isnull(val,'string') to return string if value is null
|
||||
* multi-verion concurrency control(Vadim)
|
||||
* improve reporting of syntax errors by showing location of error in query
|
||||
* allow chaining of pages to allow >8k tuples
|
||||
* no min/max for oid type
|
||||
* remove un-needed conversion functions
|
||||
* redesign the function call interface to handle NULLs better(Jan)
|
||||
* permissions on indexes - prevent them?
|
||||
* allow multiple generic operators in expressions without the use of parentheses
|
||||
* document/trigger/rule so changes to pg_shadow create pg_pwd
|
||||
* improve group handling
|
||||
* generate postmaster pid file and remove flock/fcntl lock code
|
||||
* improve PRIMARY KEY handling
|
||||
* add ability to specifiy location of lock/socket files
|
||||
* psql \d on index with char()/varchar() fields shows improper length
|
||||
* disallow LOCK outside a transaction, change message to LOCK instead of DELETE
|
||||
* Fix roundoff problems in "cash" datatype
|
||||
* fix any sprintf() overruns
|
||||
* add portable vsnprintf()
|
||||
* auto-destroy sequence on SERIAL removal
|
||||
* CREATE TABLE inside aborted transaction causes stray table file
|
||||
* allow user to define char1 column
|
||||
|
||||
PERFORMANCE
|
||||
-----------
|
||||
@ -224,198 +233,36 @@ DOCUMENTATION
|
||||
|
||||
=============================================================================
|
||||
|
||||
CHANGES IN THE 6.4 RELEASE
|
||||
--------------------------
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
|
||||
Remove char2-16 data types, use char/varchar(Darren)
|
||||
Pqfn not handles a NOTICE message(Anders)
|
||||
Reduced busywaiting overhead for spinlocks with many backends (dg)
|
||||
Stuck spinlock detection (dg)
|
||||
Fix up "ISO-style" timespan decoding and encoding(Thomas)
|
||||
Fix problem with table drop after rollback of transaction(Vadim)
|
||||
Change error message and remove non-functional update message(Vadim)
|
||||
Fix for COPY array checking
|
||||
Fix for SELECT 1 UNION SELECT NULL
|
||||
Fix for buffer leaks in large object calls(Pascal)
|
||||
Change owner from oid to int4 type(Bruce)
|
||||
Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
|
||||
Fix for shared invalidation cache overflow(Massimo)
|
||||
Prevent file descriptor leaks in failed COPY's(Bruce)
|
||||
Fix memory leak in libpgtcl's pg_select(Constantin)
|
||||
Fix problems with username/passwords over 8 characters(Tom)
|
||||
Fix problems with handling of asynchronous NOTIFY in backend(Tom)
|
||||
Fix of many bad system table entries(Tom)
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
|
||||
Show the index used in an EXPLAIN(Zeugswetter)
|
||||
EXPLAIN invokes rule system and shows plan(s) for rewritten queries(Jan)
|
||||
Multi-byte awareness of many data types and functions, via configure(Tatsuo)
|
||||
New configure --with-mb option(Tatsuo)
|
||||
New initdb --pgencoding option(Tatsuo)
|
||||
New createdb -E multibyte option(Tatsuo)
|
||||
Select version(); now returns PostgreSQL version(Jeroen)
|
||||
Libpq now allows asynchronous clients(Tom)
|
||||
Allow cancel from client of backend query(Tom)
|
||||
Psql now cancels query with Control-C(Tom)
|
||||
Libpq users need not issue dummy queries to get NOTIFY messages(Tom)
|
||||
NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom)
|
||||
PGresult struct now includes associated error message, if any(Tom)
|
||||
Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
|
||||
Add routines to convert between varchar and bpchar(Thomas)
|
||||
Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
|
||||
Add bit flags to support timezonehour and minute in data retrieval(Thomas)
|
||||
Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
|
||||
Fixes for unary minus parsing with leading spaces(Thomas)
|
||||
Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
|
||||
Check for and properly ignore FOREIGN KEY column constraints(Thomas)
|
||||
Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
|
||||
Enable HAVING clause but no fixes elsewhere yet.
|
||||
Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
|
||||
Save string type if specified for DEFAULT clause handling(Thomas)
|
||||
Coerce operations involving different data types(Thomas)
|
||||
Allow some index use for columns of different types(Thomas)
|
||||
Add capabilities for automatic type conversion(Thomas)
|
||||
Cleanups for large objects, so file is truncated on open(Peter)
|
||||
Readline cleanups(Tom)
|
||||
Allow psql \f \ to make spaces as delimiter(Bruce)
|
||||
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
|
||||
Msql compatibility library in /contrib(Aldrin)
|
||||
Remove the requirement that ORDER/GROUP BY clause identifiers be
|
||||
included in the target list(David)
|
||||
Convert columns to match columns in UNION clauses(Thomas)
|
||||
Remove fork()/exec() and only do fork()(Bruce)
|
||||
Jdbc cleanups(Peter)
|
||||
Show backend status on ps command line(only works on some platforms)(Bruce)
|
||||
Pg_hba.conf now has a sameuser option in the database field
|
||||
Make lo_unlink take oid param, not int4
|
||||
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
|
||||
Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom)
|
||||
libpgtcl cleanups(Tom)
|
||||
Add -error option to libpgtcl's pg_result command(Tom)
|
||||
New locale patch, see docs/README/locale(Oleg)
|
||||
Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
|
||||
New contrib/lo code for large object orphan removal(Peter)
|
||||
New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
|
||||
feature, see /doc/README.mb(Tatsuo)
|
||||
/contrib/noupdate code to revoke update permission on a column
|
||||
Libpq can now be compiled on win32(Magnus)
|
||||
Add PQsetdbLogin() in libpq
|
||||
New 8-byte integer type, checked by configure for OS support(Thomas)
|
||||
Better support for quoted table/column names(Thomas)
|
||||
Surround table and column names with double-quotes in pg_dump(Thomas)
|
||||
PQreset() now works with passwords(Tom)
|
||||
Handle case of GROUP BY target list column number out of range(David)
|
||||
Allow UNION in subselects
|
||||
Add auto-size to screen to \d? commands(Bruce)
|
||||
Use UNION to show all \d? results in one query(Bruce)
|
||||
Add \d? field search feature(Bruce)
|
||||
Pg_dump issues fewer \connect requests(Tom)
|
||||
Make pg_dump -z flag work better, document it in manual page(Tom)
|
||||
Add HAVING clause with full support for subselects and unions(Stephan)
|
||||
Full text indexing routines in contrib/fulltextindex(Maarten)
|
||||
Transaction ids now stored in shared memory(Vadim)
|
||||
New PGCLIENTENCODING when issuing COPY command(Tatsuo)
|
||||
Support for SQL92 syntax "SET NAMES"(Tatsuo)
|
||||
Support for LATIN2-5(Tatsuo)
|
||||
Add UNICODE regression test case(Tatsuo)
|
||||
Lock manager cleanup, new locking modes for LLL(Vadim)
|
||||
Allow index use with OR clauses(Bruce)
|
||||
Allows "SELECT NULL ORDER BY 1;"
|
||||
Explain VERBOSE prints the plan, and now pretty-prints the plan to
|
||||
the postmaster log file(Bruce)
|
||||
Add Indices display to \d command(Bruce)
|
||||
Allow GROUP BY on functions(David)
|
||||
New pg_class.relkind for large objects(Bruce)
|
||||
New way to send libpq NOTICE messages to a different location(Tom)
|
||||
New \w write command to psql(Bruce)
|
||||
New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
|
||||
Allow binary-compatible indices to be considered when checking for valid
|
||||
indices for restriction clauses containing a constant(Thomas)
|
||||
New ISBN/ISSN code in /contrib/isbn_issn
|
||||
Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
|
||||
New rewrite system fixes many problems with rules and views(Jan)
|
||||
* Rules on relations work
|
||||
* Event qualifications on insert/update/delete work
|
||||
* New OLD variable to reference CURRENT, CURRENT will be remove in future
|
||||
* Update rules can reference NEW and OLD in rule qualifications/actions
|
||||
* Insert/update/delete rules on views work
|
||||
* Multiple rule actions are now supported, surrounded by parentheses
|
||||
* Regular users can create views/rules on tables they have RULE permits
|
||||
* Rules and views inherit the permissions on the creator
|
||||
* No rules at the column level
|
||||
* No UPDATE NEW/OLD rules
|
||||
* New pg_tables, pg_indexes, pg_rules and pg_views system views
|
||||
* Only a single action on SELECT rules
|
||||
* Total rewrite overhaul, perhaps for 6.5
|
||||
* handle subselects
|
||||
* handle aggregates on views
|
||||
* handle insert into select from view works
|
||||
System indexes are now multi-key(Bruce)
|
||||
Oidint2, oidint4, and oidname types are removed(Bruce)
|
||||
Use system cache for more system table lookups(Bruce)
|
||||
New backend programming language PL/pgSQL in backend/pl(Jan)
|
||||
New SERIAL data type, auto-creates sequence/index(Thomas)
|
||||
Enable assert checking without a recompile(Massimo)
|
||||
User lock enhancements(Massimo)
|
||||
New setval() command to set sequence value(Massimo)
|
||||
Auto-remove unix socket file on startup if no postmaster running(Massimo)
|
||||
Conditional trace package(Massimo)
|
||||
New UNLISTEN command(Massimo)
|
||||
Psql and libpq now compile under win32 using win32.mak(Magnus)
|
||||
Lo_read no longer stores trailing NULL(Bruce)
|
||||
Identifiers are now truncated to 31 characters internally(Bruce)
|
||||
Createuser options now availble on the command line
|
||||
Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
|
||||
Prevent file descriptor leaf from failed COPY(Bruce)
|
||||
New pg_upgrade command(Bruce)
|
||||
Updated /contrib directories(Massimo)
|
||||
New CREATE TABLE DEFAULT VALUES statement available(Thomas)
|
||||
New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
|
||||
New DECLARE and FETCH feature(Thomas)
|
||||
libpq's internal structures now not exported(Tom)
|
||||
Allow up to 8 key indexes(Bruce)
|
||||
Remove ARCHIVE keyword, that is no longer used(Thomas)
|
||||
pg_dump -n flag to supress quotes around indentifiers
|
||||
disable system columns for views(Jan)
|
||||
new INET and CIDR types for network addresses(TomH, Paul)
|
||||
no more double quotes in psql output
|
||||
pg_dump now dumps views(Terry)
|
||||
new SET QUERY_LIMIT(Tatsuo,Jan)
|
||||
|
||||
Source Tree Changes
|
||||
-------------------
|
||||
/contrib cleanup(Jun)
|
||||
Inline some small functions called for every row(Bruce)
|
||||
Alpha/linux fixes
|
||||
Hp/UX cleanups(Tom)
|
||||
Multi-byte regression tests(Soonmyung.)
|
||||
Remove --disabled options from configure
|
||||
Define PGDOC to use POSTGRESDIR by default
|
||||
Make regression optional
|
||||
Remove extra braces code to pgindent(Bruce)
|
||||
Add bsdi shared library support(Bruce)
|
||||
New --without-CXX support configure option(Brook)
|
||||
New FAQ_CVS
|
||||
Update backend flowchart in tools/backend(Bruce)
|
||||
Change atttypmod from int16 to int32(Bruce, Tom)
|
||||
Getrusage() fix for platforms that do not have it(Tom)
|
||||
Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page
|
||||
NS32K platform fixes(Phil Nelson, John Buller)
|
||||
Sco 7/UnixWare 2.x fixes(Billy,others)
|
||||
Sparc/Solaris 2.5 fixes(Ryan)
|
||||
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
|
||||
Even more documention(Thomas)
|
||||
Nextstep support(Jacek)
|
||||
Aix support(David)
|
||||
pginterface manual page(Bruce)
|
||||
shared libraries all have version numbers
|
||||
merged all OS-specific shared library defines into one file
|
||||
smarter TCL/TK configuration checking(Billy)
|
||||
smarter perl configuration(Brook)
|
||||
configure uses supplied install-sh if no install script found(Tom)
|
||||
new Makefile.shlib for shared library configuration(Tom)
|
||||
CHANGES IN THE 6.4.1 RELEASE
|
||||
----------------------------
|
||||
Add pg_dump -N flag to force double quotes around identifiers. This is
|
||||
the default.
|
||||
Fix for NOT in where clause causing crash(Bruce)
|
||||
EXPLAIN VERBOSE coredump fix(Vadim)
|
||||
Fix shared-library problems on Linux
|
||||
Fix test for table existance to allow mixed-case and whitespace in
|
||||
the table name
|
||||
Fix a couple of pg_dump bugs
|
||||
Fix for creating tables with constraints when table name is mixed-case(Billy)
|
||||
Configure matches template/.similar entries better(Tom)
|
||||
Change builtin function names from SPI_* to spi_*
|
||||
OR WHERE clause fix(Vadim)
|
||||
Fixes for mixed-case table names(Billy)
|
||||
contrib/linux/postgres.init.csh/sh fix
|
||||
libpq memory overrun fix
|
||||
SunOS fixes(Tom)
|
||||
Change exp() behavior to generate error on underflow
|
||||
pg_dump fixes for memory leak, inheritance constraints, layout change
|
||||
update pgaccess to 0.93
|
||||
Fix prototype for 64-bit platforms
|
||||
Multi-byte fixes(Tatsuo)
|
||||
New ecpg man page
|
||||
Fix memory overruns(Tatsuo)
|
||||
Fix for lo_import() crash(Bruce)
|
||||
Better search for install program(Tom)
|
||||
Timezone fixes(Tom)
|
||||
HPUX fixes(Tom)
|
||||
Use implicit type coersion for matching DEFAULT values
|
||||
Add routines to help with single-byte (internal) character type(Thomas)
|
||||
Compilation of libpq for Win32 fixes(Magnus)
|
||||
Upgrade to PyGreSQL 2.2(D'Arcy)
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
(1998-09-01)
|
||||
(1998-12-18)
|
||||
PostgreSQL has a Web site at http://www.postgresql.org/ which carries details
|
||||
on the latest release, upcoming features, and other information to make your
|
||||
work or play with PostgreSQL more productive.
|
||||
|
Reference in New Issue
Block a user