aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/FAQ25
-rw-r--r--doc/FAQ-Irix155
-rw-r--r--doc/FAQ-Linux387
3 files changed, 559 insertions, 8 deletions
diff --git a/doc/FAQ b/doc/FAQ
index edbbefb8a46..90356ff87a8 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -1,6 +1,6 @@
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
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
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):
- * *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
-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?
@@ -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?
-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
directory.
@@ -546,7 +552,7 @@ sending a mail to:
* majordomo@listserv.direct.net
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
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.
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
-1.07 or 2.* with pgdump's -o option or COPY's WITH OIDS option to preserver
-the oids.
+1.07 or later or 2.* with pgdump's -o option or COPY's WITH OIDS option to
+preserver the oids.
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.
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?
@@ -852,6 +859,8 @@ common usage. Here are some:
* retrieve, select
* replace, update
* oid, serial value
+ * portal, cursor
+ * range variable, table name, table alias
Please let me know if you think of any more.
diff --git a/doc/FAQ-Irix b/doc/FAQ-Irix
new file mode 100644
index 00000000000..9437a06db71
--- /dev/null
+++ b/doc/FAQ-Irix
@@ -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
+****************************************************************************
diff --git a/doc/FAQ-Linux b/doc/FAQ-Linux
new file mode 100644
index 00000000000..357e301bd97
--- /dev/null
+++ b/doc/FAQ-Linux
@@ -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
+****************************************************************************