mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
New FAQ's.
This commit is contained in:
25
doc/FAQ
25
doc/FAQ
@ -1,6 +1,6 @@
|
|||||||
Frequently Asked Questions (FAQ) for Postgres95
|
Frequently Asked Questions (FAQ) for Postgres95
|
||||||
|
|
||||||
Last updated: Fri Sep 27 17:48:23 EDT 1996
|
Last updated: Mon Oct 14 08:05:23 EDT 1996
|
||||||
Version: 2.0
|
Version: 2.0
|
||||||
|
|
||||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||||
@ -8,9 +8,15 @@ Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
|||||||
The most recent version of this document can be viewed at the postgres95 Web
|
The most recent version of this document can be viewed at the postgres95 Web
|
||||||
site, http://www.ki.net/postgres95.
|
site, http://www.ki.net/postgres95.
|
||||||
|
|
||||||
|
Linux-specific questions are answered in
|
||||||
|
http://www.ki.net/postgres95/docs/FAQ-Linux.phtml.
|
||||||
|
|
||||||
|
Irix-specific questions are answered in
|
||||||
|
http://www.ki.net/postgres95/docs/FAQ-Irix.phtml.
|
||||||
|
|
||||||
Changes in this version (* = modified, + = new):
|
Changes in this version (* = modified, + = new):
|
||||||
|
|
||||||
* *3.23) How do I create a serial field?
|
* *3.41) What is the meaning of some of the terms used in Postgres?
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -241,7 +247,7 @@ home page at:
|
|||||||
|
|
||||||
1.6) Latest release of Postgres95
|
1.6) Latest release of Postgres95
|
||||||
|
|
||||||
The latest release of postgres95 is version 1.07.
|
The latest release of postgres95 is version 1.08.
|
||||||
|
|
||||||
1.7) Is there a commercial version of Postgres95?
|
1.7) Is there a commercial version of Postgres95?
|
||||||
|
|
||||||
@ -277,7 +283,7 @@ eventually we can also add the missing features listed above.
|
|||||||
|
|
||||||
1.10) Does Postgres95 work with databases from earlier versions of postgres?
|
1.10) Does Postgres95 work with databases from earlier versions of postgres?
|
||||||
|
|
||||||
Postgres95 v1.07 is compatible with databases created with v1.01. Those
|
Postgres95 v1.08 is compatible with databases created with v1.01. Those
|
||||||
upgrading from 1.0 should read the directions in the MIGRATION_1.0_TO_1.02
|
upgrading from 1.0 should read the directions in the MIGRATION_1.0_TO_1.02
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
@ -546,7 +552,7 @@ sending a mail to:
|
|||||||
* majordomo@listserv.direct.net
|
* majordomo@listserv.direct.net
|
||||||
|
|
||||||
OpenLink ODBC is currently in beta under Linux. You can get it from
|
OpenLink ODBC is currently in beta under Linux. You can get it from
|
||||||
http://www.openlinksw.com/postgre s.html. It works with our standard ODBC
|
http://www.openlinksw.com/postgres.html. It works with our standard ODBC
|
||||||
client software so you'll have Postgres ODBC available on every client
|
client software so you'll have Postgres ODBC available on every client
|
||||||
platform we support (Win, Mac, Unix, VMS).
|
platform we support (Win, Mac, Unix, VMS).
|
||||||
|
|
||||||
@ -626,8 +632,8 @@ Place the word 'EXPLAIN' at the beginning of the query, for example:
|
|||||||
Postgres does not allow the user to specifiy a user column as type SERIAL.
|
Postgres does not allow the user to specifiy a user column as type SERIAL.
|
||||||
Instead, you can use each row's oid field as a unique value. However, if you
|
Instead, you can use each row's oid field as a unique value. However, if you
|
||||||
need to dump and reload the database, you need to be using postgres version
|
need to dump and reload the database, you need to be using postgres version
|
||||||
1.07 or 2.* with pgdump's -o option or COPY's WITH OIDS option to preserver
|
1.07 or later or 2.* with pgdump's -o option or COPY's WITH OIDS option to
|
||||||
the oids.
|
preserver the oids.
|
||||||
|
|
||||||
Another valid way of doing this is to create a function:
|
Another valid way of doing this is to create a function:
|
||||||
|
|
||||||
@ -771,7 +777,8 @@ INSERTed rows get a timestamp too, so rows that were not in the table at the
|
|||||||
desired time will not appear.
|
desired time will not appear.
|
||||||
|
|
||||||
Vacuum removes rows that are no longer current. This time-warp feature is
|
Vacuum removes rows that are no longer current. This time-warp feature is
|
||||||
used by the engine for rollback and crash recovery.
|
used by the engine for rollback and crash recovery. Expiration times can be
|
||||||
|
set with purge.
|
||||||
|
|
||||||
3.38) How do I tune the database engine for better performance?
|
3.38) How do I tune the database engine for better performance?
|
||||||
|
|
||||||
@ -852,6 +859,8 @@ common usage. Here are some:
|
|||||||
* retrieve, select
|
* retrieve, select
|
||||||
* replace, update
|
* replace, update
|
||||||
* oid, serial value
|
* oid, serial value
|
||||||
|
* portal, cursor
|
||||||
|
* range variable, table name, table alias
|
||||||
|
|
||||||
Please let me know if you think of any more.
|
Please let me know if you think of any more.
|
||||||
|
|
||||||
|
155
doc/FAQ-Irix
Normal file
155
doc/FAQ-Irix
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
====================================================
|
||||||
|
Frequently Asked Questions (FAQ) for Postgres95
|
||||||
|
IRIX Specific
|
||||||
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||||
|
====================================================
|
||||||
|
last updated: Fri Oct 11 14:45:00 BST 1996
|
||||||
|
|
||||||
|
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):
|
||||||
|
+3.1) How do I compile a C program to create a function for extending
|
||||||
|
Postgres95
|
||||||
|
|
||||||
|
|
||||||
|
This file is divided approximately as follows:
|
||||||
|
0.*) Bugs in Postgres95 V1.08
|
||||||
|
1.*) Installing Postgres95
|
||||||
|
2.*) Uninstalling Postgres95
|
||||||
|
3.*) Extending Postgres95
|
||||||
|
|
||||||
|
|
||||||
|
Questions answered:
|
||||||
|
0.1) What bugs do I need to fix before Postgres95 will compile
|
||||||
|
under Irix?
|
||||||
|
1.1) What extra items do I need to install Postgres95 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?
|
||||||
|
2.1) Why can't I move the executable files?
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 0: Bugs in Postgres95 V1.08
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
0.1) What bugs do I need to fix before Postgres95 will compile
|
||||||
|
under Irix?
|
||||||
|
|
||||||
|
a) Fix the bug in src/Makefile.global:
|
||||||
|
Change
|
||||||
|
# Globally pass PORTNAME
|
||||||
|
CFLAGS+= -DPORTNAME_$(PORTNAME)
|
||||||
|
CFLAGS += -I ../../backend/port/$(PORTNAME)
|
||||||
|
to
|
||||||
|
# Globally pass PORTNAME
|
||||||
|
CFLAGS+= -DPORTNAME_$(PORTNAME)
|
||||||
|
CFLAGS += -I../../backend/port/$(PORTNAME)
|
||||||
|
|
||||||
|
(i.e. remove the space after the -I)
|
||||||
|
|
||||||
|
|
||||||
|
b) Add the missing prototype to src/bin/pg_dump/pg_dump.h
|
||||||
|
After the line
|
||||||
|
extern int findLastBuiltinOid();
|
||||||
|
add
|
||||||
|
extern void setMaxOid(FILE *fout);
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 1: Installing Postgres95
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
1.1) What extra items do I need to install Postgres95 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)
|
||||||
|
|
||||||
|
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?
|
||||||
|
|
||||||
|
You *must* set the following variables:
|
||||||
|
PORTNAME= irix5
|
||||||
|
IPCSDIR= /usr/sbin
|
||||||
|
|
||||||
|
You will also need to change the following to match your own
|
||||||
|
installation:
|
||||||
|
SRCDIR
|
||||||
|
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?
|
||||||
|
|
||||||
|
These are Sun Solaris specific and shouldn't be in Makefile.global
|
||||||
|
The compile (including pgtclsh) seems to go OK even though
|
||||||
|
these don't exist...
|
||||||
|
|
||||||
|
1.4) Are there any other changes I should make?
|
||||||
|
|
||||||
|
If you have installed the GNU install program (ginstall), you
|
||||||
|
should edit src/mk/port/postgres.mk.irix5
|
||||||
|
and change the line:
|
||||||
|
INSTALL=/usr/bin/X11/bsdinst
|
||||||
|
to
|
||||||
|
INSTALL=ginstall
|
||||||
|
|
||||||
|
For an explanation as to why this is a good idea, see Question 2.1
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 2: Deinstalling Postgres95
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
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 Postgres95
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
3.1) How do I compile a C program to create a function for extending
|
||||||
|
Postgres95
|
||||||
|
|
||||||
|
Here is a sample command line:
|
||||||
|
|
||||||
|
cc -I/usr/local/postgres95/include/ -I/usr/local/postgres95/src/backend
|
||||||
|
-shared -o funcs.so funcs.c
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
Dr. Andrew C.R. Martin, University College London & SciTech Software
|
||||||
|
EMAIL: martin@biochem.ucl.ac.uk Tel:(Work) +44(0)171 419 3890
|
||||||
|
URL: http://www.biochem.ucl.ac.uk/~martin (Home) +44(0)1372 275775
|
||||||
|
****************************************************************************
|
387
doc/FAQ-Linux
Normal file
387
doc/FAQ-Linux
Normal file
@ -0,0 +1,387 @@
|
|||||||
|
====================================================
|
||||||
|
Frequently Asked Questions (FAQ) for Postgres95
|
||||||
|
Linux Specific
|
||||||
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||||
|
====================================================
|
||||||
|
last updated: Mon Oct 14 11:00:00 BST 1996
|
||||||
|
|
||||||
|
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):
|
||||||
|
*1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||||
|
*1.14) [DEBIAN] Where is libtermcap?
|
||||||
|
|
||||||
|
|
||||||
|
This file is divided approximately as follows:
|
||||||
|
0.*) Bugs in Postgres95 V1.08
|
||||||
|
1.*) Installing Postgres95
|
||||||
|
2.*) Compiling accessory programs
|
||||||
|
3.*) Runtime Problems
|
||||||
|
4.*) Spurious Problems in Need of Verification
|
||||||
|
|
||||||
|
|
||||||
|
Questions answered:
|
||||||
|
0.1) What bugs do I need to fix before Postgres95 will compile
|
||||||
|
under Linux?
|
||||||
|
1.1) What changes do I need to make to src/Makefile.global
|
||||||
|
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] 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 Postgres95 on an a.out system?
|
||||||
|
1.12) Why does make fail with:
|
||||||
|
yacc -d /disk2/postgres95/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?
|
||||||
|
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/postgres95/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?
|
||||||
|
4.1) Why doesn't the postmaster start the first time?
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 0: Bugs in Postgres95 V1.08
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
0.1) What bugs do I need to fix before Postgres95 will compile
|
||||||
|
under Linux?
|
||||||
|
|
||||||
|
a) Fix the bug in src/Makefile.global:
|
||||||
|
Change
|
||||||
|
# Globally pass PORTNAME
|
||||||
|
CFLAGS+= -DPORTNAME_$(PORTNAME)
|
||||||
|
CFLAGS += -I ../../backend/port/$(PORTNAME)
|
||||||
|
to
|
||||||
|
# Globally pass PORTNAME
|
||||||
|
CFLAGS+= -DPORTNAME_$(PORTNAME)
|
||||||
|
CFLAGS += -I../../backend/port/$(PORTNAME)
|
||||||
|
|
||||||
|
(i.e. remove the space after the -I)
|
||||||
|
|
||||||
|
|
||||||
|
b) Add the missing prototype to src/bin/pg_dump/pg_dump.h
|
||||||
|
After the line
|
||||||
|
extern int findLastBuiltinOid();
|
||||||
|
add
|
||||||
|
extern void setMaxOid(FILE *fout);
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 1: Compiling Postgres95
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
1.1) What changes do I need to make to src/Makefile.global
|
||||||
|
|
||||||
|
You *must* set the following variables:
|
||||||
|
PORTNAME= linux
|
||||||
|
|
||||||
|
You will also need to change the following to match your own
|
||||||
|
installation:
|
||||||
|
SRCDIR
|
||||||
|
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 comment out the USE_READLINE variable in
|
||||||
|
src/Makefile.global or install the GNU readline library.
|
||||||
|
|
||||||
|
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
You can obtain the library and the header file from:
|
||||||
|
|
||||||
|
ftp://tsx-11.mit.edu/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.
|
||||||
|
|
||||||
|
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
|
||||||
|
|
||||||
|
See the answer to question 1.1. 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.
|
||||||
|
|
||||||
|
The easiest fix is to obtain the file ldso.tgz from the a4 disk of
|
||||||
|
a more recent Slackware 3.1 distribution and unpack this file
|
||||||
|
from the root (/) directory, then do
|
||||||
|
|
||||||
|
sh install/doinst.sh
|
||||||
|
|
||||||
|
to complete the installation. Follow this with
|
||||||
|
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
1.5) My compile of the backend dies complaining about the include file
|
||||||
|
dlfcn.h missing
|
||||||
|
|
||||||
|
See the answer to question 1.2. 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/mk/port/postgres.mk.linux
|
||||||
|
|
||||||
|
|
||||||
|
1.7) I get warnings of the form
|
||||||
|
warning: cast from pointer to integer of different size
|
||||||
|
|
||||||
|
These can safely be ignored
|
||||||
|
|
||||||
|
1.8) [SuSE-Linux 4.2] Where is curses and termcap?
|
||||||
|
|
||||||
|
SuSE-Linux has ncurses but not curses. Edit src/bin/psql/Makefile and
|
||||||
|
Change
|
||||||
|
LIBCURSES= -lcurses
|
||||||
|
to
|
||||||
|
LIBCURSES= -lncurses
|
||||||
|
|
||||||
|
SuSE-Linux has the termcap library is in /usr/lib/termcap instead of
|
||||||
|
in /usr/lib
|
||||||
|
Edit src/bin/psql/Makefile and
|
||||||
|
Change
|
||||||
|
ifeq ($(PORTNAME), linux)
|
||||||
|
LD_ADD += -ltermcap
|
||||||
|
else
|
||||||
|
to
|
||||||
|
ifeq ($(PORTNAME), linux)
|
||||||
|
LD_ADD += -L/usr/lib/termcap -ltermcap
|
||||||
|
else
|
||||||
|
|
||||||
|
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.2. 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 Postgres95. Note that flex 2.5.3 has a bug: see
|
||||||
|
Question 3.4.
|
||||||
|
|
||||||
|
1.11) How do I compile Postgres95 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
|
||||||
|
|
||||||
|
Second, comment out the LINUX_ELF line in src/mk/port/postgres.mk.linux
|
||||||
|
|
||||||
|
1.12) Why does make fail with:
|
||||||
|
yacc -d /disk2/postgres95/src/backend/parser/gram.y
|
||||||
|
make: /usr/bin/make: cannot execute binary file
|
||||||
|
|
||||||
|
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?
|
||||||
|
|
||||||
|
These are Sun Solaris specific and shouldn't be in Makefile.global
|
||||||
|
The compile (including pgtclsh) seems to go OK even though
|
||||||
|
these don't exist...
|
||||||
|
|
||||||
|
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
|
||||||
|
LIBCURSES variable in src/bin/psql/Makefile since Debian provides
|
||||||
|
a link from libncurses to libcurses (unlike SuSE-Linux --- see
|
||||||
|
Question 1.8).
|
||||||
|
|
||||||
|
Edit src/bin/psql/Makefile and change:
|
||||||
|
|
||||||
|
ifeq ($(PORTNAME), linux)
|
||||||
|
LD_ADD += -ltermcap
|
||||||
|
else
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
ifeq ($(PORTNAME), linux)
|
||||||
|
CFLAGS +=
|
||||||
|
else
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 2: Compiling accessory programs
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
2.1) The linker fails to find libX11 when compiling pgtclsh
|
||||||
|
|
||||||
|
Modify the src/Makefile.global to change
|
||||||
|
X11_LIBDIR = /usr/lib
|
||||||
|
to
|
||||||
|
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
|
||||||
|
|
||||||
|
3.2) I run postmaster and after that system says 'Bad system call(Core
|
||||||
|
dumped)'
|
||||||
|
|
||||||
|
This indicates that you have no 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/postgres95/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, apply a patch to
|
||||||
|
V2.5.3 (supplied in doc/README.flex) or wait for V2.5.4 which
|
||||||
|
will fix the bug.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Section 4: Spurious Problems in Need of Verification
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
4.1) Why doesn't the postmaster start the first time?
|
||||||
|
|
||||||
|
Pawko Olszewski <alder@amg.com.pl> reported a problem that, using
|
||||||
|
Linux kernel 2.0.18, the postmaster wouldn't start the first time
|
||||||
|
it is run using
|
||||||
|
|
||||||
|
postmaster -B 256
|
||||||
|
|
||||||
|
but if run as
|
||||||
|
|
||||||
|
postmaster -B 64
|
||||||
|
|
||||||
|
killed and then restarted as
|
||||||
|
|
||||||
|
postmaster -B 256
|
||||||
|
|
||||||
|
everything was OK.
|
||||||
|
|
||||||
|
I haven't been able to repeat this problem! Nobody else has
|
||||||
|
reported anything similar.
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
Dr. Andrew C.R. Martin, University College London & SciTech Software
|
||||||
|
EMAIL: martin@biochem.ucl.ac.uk Tel:(Work) +44(0)171 419 3890
|
||||||
|
URL: http://www.biochem.ucl.ac.uk/~martin (Home) +44(0)1372 275775
|
||||||
|
****************************************************************************
|
Reference in New Issue
Block a user