]> granicus.if.org Git - postgresql/commitdiff
FAQs contributed for this release.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 27 May 1999 16:05:38 +0000 (16:05 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 27 May 1999 16:05:38 +0000 (16:05 +0000)
doc/FAQ_AIX [new file with mode: 0644]
doc/FAQ_SCO [new file with mode: 0644]

diff --git a/doc/FAQ_AIX b/doc/FAQ_AIX
new file mode 100644 (file)
index 0000000..66eda06
--- /dev/null
@@ -0,0 +1,51 @@
+From - Thu May 27 03:10:25 1999
+Received: from localhost (lockhart@localhost [127.0.0.1])
+       by localhost (8.8.7/8.8.7) with ESMTP id RAA08251
+       for <lockhart@localhost>; Wed, 26 May 1999 17:49:20 GMT
+Received: from apop-server.alumni.caltech.edu
+       by localhost with POP3 (fetchmail-4.7.9)
+       for lockhart@localhost (single-drop); Wed, 26 May 1999 17:49:20 +0000 (UTC)
+Received: from gandalf.telecom.at (gandalf.telecom.at [194.118.26.84])
+       by alumnus.caltech.edu (8.9.1/8.9.1) with ESMTP id KAA01676
+       for <lockhart@alumni.caltech.edu>; Wed, 26 May 1999 10:46:19 -0700 (PDT)
+Received: from sdexcgtw01.sd.spardat.at (sdexcgtw01.sd.spardat.at [172.18.99.31])
+       by gandalf.telecom.at (xxx/xxx) with ESMTP id MAA12220;
+       Wed, 26 May 1999 12:02:50 +0200
+Received: by sdexcgtw01.f000.d0188.sd.spardat.at with Internet Mail Service (5.5.2448.0)
+       id <K49AQPB3>; Wed, 26 May 1999 12:02:51 +0200
+Message-ID: <219F68D65015D011A8E000006F8590C60267B37B@sdexcsrv1.f000.d0188.sd.spardat.at>
+From: ZEUGSWETTER Andreas IZ5 <Andreas.Zeugswetter@telecom.at>
+To: "'Thomas Lockhart'" <lockhart@alumni.caltech.edu>
+Cc: "'hackers@postgresql.org'" <hackers@postgresql.org>
+Subject: AW: [HACKERS] Call for updates!
+Date: Wed, 26 May 1999 12:02:48 +0200
+MIME-Version: 1.0
+X-Mailer: Internet Mail Service (5.5.2448.0)
+Content-Type: text/plain
+X-UIDL: 220301b41f1310903e8d55cb7ecc5f4b
+X-Mozilla-Status: 8001
+X-Mozilla-Status2: 00000000
+
+
+> Hi. I'd like to update the ports list in the docs to include
+> references to v6.5 for the various platforms for which PostgreSQL-6.5b
+> has been tested.
+> 
+Current CVS (after pgindent) compiles and regresses ok on AIX 4.3.2 
+using the IBM compiler. It has the following problems:
+1. AIX has int8,int16,int32,int64 in /usr/include/inttypes.h 
+       --> configure fails to find snprintf support for int8 (because it
+includes stdio.h)
+       I feel this is an IBM problem. I changed my inttypes.h
+2. No AIX in Makefile.shlib --> plpgsql.so is not built / no rule.
+       a number of other platforms are also missing there
+       a working rule is often in Makefile.port, but only for a single
+object
+       not multiple, which plpgsql has.
+       The single object rule in Makefile.aix can be used to make a
+plpgsql.so
+       from libplpgsql.a. I built it manually.
+3. libpq++ does not work because xlC does not have the string type/class ? 
+
+Andreas
+
diff --git a/doc/FAQ_SCO b/doc/FAQ_SCO
new file mode 100644 (file)
index 0000000..5058901
--- /dev/null
@@ -0,0 +1,246 @@
+=======================================================
+Frequently Asked Questions (FAQ) for PostgreSQL  V6.5
+SCO UnixWare and OpenServer Specific
+TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
+=======================================================
+last updated:           Tue May 25 12:00:00 PDT 1999
+
+current maintainer:     Andrew Merrill (andrew@compclass.com)
+original author:        Andrew Merrill (andrew@compclass.com)
+
+
+PostgreSQL 6.5 can be built on SCO UnixWare 7 and SCO OpenServer 5.
+On OpenServer, you can use either the OpenServer Development Kit or 
+the Universal Development Kit.
+
+However, some tweaking may be needed, as described below.
+
+Topics:
+*) Skunkware
+*) GNU Make
+*) C++ and libpq++
+*) Readline
+*) Using the UDK on OpenServer
+*) Shared Memory and SHMMAX
+*) Java and JDBC
+*) Reading the PostgreSQL man pages on UnixWare
+
+
+***************************************************************************
+*) Skunkware
+
+You should locate your copy of the SCO Skunkware CD.  The Skunkware CD
+is included with UnixWare 7 and current versions of OpenServer 5.
+
+Skunkware includes ready-to-install versions of many popular programs that
+are available on the Internet.  For example, gzip, gunzip, GNU make, flex,
+and bison are all included.
+
+If you do not have this CD, the software on it
+is available via anonymous ftp from ftp.sco.com/skunkware.
+
+For UnixWare 7.1, this CD is now labeled "Open License Software Supplement".
+
+Skunkware has different versions for UnixWare and
+OpenServer.  Make sure you install the correct version for your
+operating system, except as noted below.
+
+
+***************************************************************************
+*) GNU Make
+
+You need to use the GNU make program, which is on the Skunkware CD.
+By default, it installs as /usr/local/bin/make.  To avoid confusion
+with the SCO make program, you may want to rename GNU make to gmake.
+
+
+***************************************************************************
+*) C++ and libpq++
+
+I have not been able to build libpq++, the PostgreSQL C++ interface, with
+the UnixWare or OpenServer C++ compilers.  By default, building PostgreSQL
+also builds the libpq++ interface.  When that fails, it causes the entire
+build of PostgreSQL to fail.
+
+This is the problem if you see the following error message:
+
+"pgenv.cc", line 47: error: no default constructor exists for class "string"
+
+If you have this problem, you can disable building of libpq++ with the 
+following configure option:
+
+configure --without-CXX
+
+
+***************************************************************************
+*) Readline
+
+If you install the readline library, then psql (the PostgreSQL command
+line SQL interpreter) remembers each command you type, and allows
+you to use arrow keys to recall and edit previous commands.  This is
+very helpful, and is strongly recommended.  The readline library is
+on the Skunkware CD.
+
+The readline library is not included on the UnixWare 7.1 Skunkware CD.  If
+you have the UnixWare 7.0.0 or 7.0.1 Skunkware CDs, you can install it
+from there.  Otherwise, try ftp.sco.com/skunkware.
+
+By default, readline installs into /usr/local/lib and /usr/local/include.
+However, the PostgreSQL configure program will not find it there without
+help.  If you installed readline, then use the following options to configure:
+
+configure --with-libs=/usr/local/lib --with-includes=/usr/local/include
+
+Putting this together with the no-C++ option above yields:
+
+configure --with-libs=/usr/local/lib --with-includes=/usr/local/include --without-CXX
+
+
+***************************************************************************
+*) Using the UDK on OpenServer
+
+If you are using the new Universal Development Kit (UDK) compiler on
+OpenServer, you need to use different arguments to the configure program.
+
+First, you need to specify the "unixware" template instead of the default.
+
+Second, you need to specify the locations of the UDK libraries.
+
+Putting these together:
+
+configure --with-template=unixware --with-libs=/udk/usr/lib --with-includes=/udk/usr/include
+
+Putting these together with the no-C++ and readline options from above:
+
+./configure --with-template=unixware --with-libs="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include" --without-CXX
+
+
+***************************************************************************
+*) Shared Memory and SHMMAX
+
+PostgreSQL supports multiple backend daemons running at once.  A block
+of shared memory is used by the backend processes.  A larger block
+of shared memory allows PostgreSQL to run faster and support more
+complicated queries.
+
+By default, UnixWare 7 and OpenServer are confiugured to support shared memory
+blocks that are no larger than 524288 bytes, or 512K.  By default, PostgreSQL
+tries to allocate a shared memory block that is larger than this.  If
+you don't do anything, this allocation will fail, and the postmaster
+daemon will not be able to run.
+
+The error message looks like this (the numbers may be different):
+
+IpcMemoryCreate: shmget failed (Invalid argument) key=5432001, size=831176, permission=600
+FATAL 1:  ShmemCreate: cannot create region
+
+You have two choices: tell PostgreSQL to allocate a smaller shared memory
+block, or tell Unix to allow larger shared memory blocks.  The latter
+is the preferred solution, but it requires a kernel tunable change and a 
+reboot to implement.
+
+To configure the size of the PostgreSQL shared memory block, use the -B
+option to the postmaster command, which configures the number of buffers
+used by PostgresSQL.  (The shared memory block consists of these buffers
+and around 300K of other stuff.)  Each buffer uses 8K, and by default
+there are 64 buffers, or 64*8*1024 = 524288 bytes (plus the ~300K of other
+stuff).
+
+To use PostgreSQL without doing any kernel tuning, use a -B value of 
+about 24.  This would take up 24*8*1024 = 196608 bytes, plus ~300K
+of other stuff, yields about 500000, which will fit in under the
+default 512K limit.
+
+Example: postmaster -B 24
+
+The recommended option is to instead raise the kernel tunable SHMMAX, 
+which controls the size of the largest allowed shared memory block.
+
+*** Tuning SHMMAX on UnixWare ***
+
+To display the current value of SHMMAX, run:
+/etc/conf/bin/idtune -g SHMMAX
+which displays the current, default, minimum, and maximum values, in bytes.
+
+To set a new value for SHMMAX, run:
+/etc/conf/bin/idtune SHMMAX value
+where value is the new value you want to use (in bytes).
+
+After setting SHMMAX, rebuild the kernel and reboot.
+To rebuild the kernel:
+/etc/conf/bin/idbuild -B
+
+*** Tuning SHMMAX on OpenServer ***
+
+First, cd to /etc/conf/cf.d.
+
+To display the current value of SHMMAX, in bytes, run:
+./configure -y SHMMAX
+
+To set a new value for SHMMAX, run:
+./configure SHMMAX=value
+where value is the new value you want to use (in bytes).
+
+After setting SHMMAX, rebuild the kernel and reboot.
+To rebuild the kernel:
+./link_unix
+
+
+***************************************************************************
+*) Java and JDBC
+
+The JDBC interface will not build on UnixWare or OpenServer without changes.  
+The JDBC Makefile in src/interfaces/jdbc/Makefile uses the $$( ) construction
+to run an external shell command, instead of the older ` ` syntax.
+However, the $$( ) syntax does not work on UnixWare or OpenServer.  
+So, each of the two uses of it must be replaced with backquotes.  You can 
+search for $$( to locate the two lines that need changing.
+
+In the file src/interfaces/jdbc/Makefile :
+
+change:
+    make $$($(JAVA) makeVersion)
+to:
+    make `$(JAVA) makeVersion`
+
+and change:
+    $(JAR) -c0f $@ $$($(FIND) postgresql -name "*.class" -print)
+to:
+    $(JAR) -c0f $@ `$(FIND) postgresql -name "*.class" -print`
+
+Of course, you also need to have installed Java on your system, and 
+make sure that /usr/java/bin is in your PATH.
+
+And, remember to use GNU make, as always.
+
+
+***************************************************************************
+*) Reading the PostgreSQL man pages on UnixWare
+
+By default, the PostgreSQL man pages are installed into /usr/local/pgsql/man.
+By default, UnixWare does not look there for man pages, so you will not
+be able to read them.
+
+You need to make two changes to access the PostgreSQL man pages from UnixWare.
+
+1) You need to modify the MANPATH environment variable.  I use:
+
+MANPATH=/usr/local/pgsql/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp
+export MANPATH
+
+2) The man pages for SQL commands are, by default, placed in section l
+(normally used for "l"ocal pages).  UnixWare does not support the l section.
+
+The solution I use is to move all these pages from section l to an unused
+section, such as section 6.  To accomplish that:
+
+cd /usr/local/pgsql/man
+mv manl man6
+cd man6
+for file in *.l
+do
+       mv $file `basename $file .l`.6
+done
+
+I have not tried using the PostgreSQL man pages on OpenServer.  Volunteers??
+