Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 39c02df

Browse files
author
Thomas G. Lockhart
committed
FAQs contributed for this release.
1 parent 5b1b477 commit 39c02df

File tree

2 files changed

+297
-0
lines changed

2 files changed

+297
-0
lines changed

doc/FAQ_AIX

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
From - Thu May 27 03:10:25 1999
2+
Received: from localhost (lockhart@localhost [127.0.0.1])
3+
by localhost (8.8.7/8.8.7) with ESMTP id RAA08251
4+
for <lockhart@localhost>; Wed, 26 May 1999 17:49:20 GMT
5+
Received: from apop-server.alumni.caltech.edu
6+
by localhost with POP3 (fetchmail-4.7.9)
7+
for lockhart@localhost (single-drop); Wed, 26 May 1999 17:49:20 +0000 (UTC)
8+
Received: from gandalf.telecom.at (gandalf.telecom.at [194.118.26.84])
9+
by alumnus.caltech.edu (8.9.1/8.9.1) with ESMTP id KAA01676
10+
for <lockhart@alumni.caltech.edu>; Wed, 26 May 1999 10:46:19 -0700 (PDT)
11+
Received: from sdexcgtw01.sd.spardat.at (sdexcgtw01.sd.spardat.at [172.18.99.31])
12+
by gandalf.telecom.at (xxx/xxx) with ESMTP id MAA12220;
13+
Wed, 26 May 1999 12:02:50 +0200
14+
Received: by sdexcgtw01.f000.d0188.sd.spardat.at with Internet Mail Service (5.5.2448.0)
15+
id <K49AQPB3>; Wed, 26 May 1999 12:02:51 +0200
16+
Message-ID: <219F68D65015D011A8E000006F8590C60267B37B@sdexcsrv1.f000.d0188.sd.spardat.at>
17+
From: ZEUGSWETTER Andreas IZ5 <Andreas.Zeugswetter@telecom.at>
18+
To: "'Thomas Lockhart'" <lockhart@alumni.caltech.edu>
19+
Cc: "'hackers@postgresql.org'" <hackers@postgresql.org>
20+
Subject: AW: [HACKERS] Call for updates!
21+
Date: Wed, 26 May 1999 12:02:48 +0200
22+
MIME-Version: 1.0
23+
X-Mailer: Internet Mail Service (5.5.2448.0)
24+
Content-Type: text/plain
25+
X-UIDL: 220301b41f1310903e8d55cb7ecc5f4b
26+
X-Mozilla-Status: 8001
27+
X-Mozilla-Status2: 00000000
28+
29+
30+
> Hi. I'd like to update the ports list in the docs to include
31+
> references to v6.5 for the various platforms for which PostgreSQL-6.5b
32+
> has been tested.
33+
>
34+
Current CVS (after pgindent) compiles and regresses ok on AIX 4.3.2
35+
using the IBM compiler. It has the following problems:
36+
1. AIX has int8,int16,int32,int64 in /usr/include/inttypes.h
37+
--> configure fails to find snprintf support for int8 (because it
38+
includes stdio.h)
39+
I feel this is an IBM problem. I changed my inttypes.h
40+
2. No AIX in Makefile.shlib --> plpgsql.so is not built / no rule.
41+
a number of other platforms are also missing there
42+
a working rule is often in Makefile.port, but only for a single
43+
object
44+
not multiple, which plpgsql has.
45+
The single object rule in Makefile.aix can be used to make a
46+
plpgsql.so
47+
from libplpgsql.a. I built it manually.
48+
3. libpq++ does not work because xlC does not have the string type/class ?
49+
50+
Andreas
51+

doc/FAQ_SCO

Lines changed: 246 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,246 @@
1+
=======================================================
2+
Frequently Asked Questions (FAQ) for PostgreSQL V6.5
3+
SCO UnixWare and OpenServer Specific
4+
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
5+
=======================================================
6+
last updated: Tue May 25 12:00:00 PDT 1999
7+
8+
current maintainer: Andrew Merrill (andrew@compclass.com)
9+
original author: Andrew Merrill (andrew@compclass.com)
10+
11+
12+
PostgreSQL 6.5 can be built on SCO UnixWare 7 and SCO OpenServer 5.
13+
On OpenServer, you can use either the OpenServer Development Kit or
14+
the Universal Development Kit.
15+
16+
However, some tweaking may be needed, as described below.
17+
18+
Topics:
19+
*) Skunkware
20+
*) GNU Make
21+
*) C++ and libpq++
22+
*) Readline
23+
*) Using the UDK on OpenServer
24+
*) Shared Memory and SHMMAX
25+
*) Java and JDBC
26+
*) Reading the PostgreSQL man pages on UnixWare
27+
28+
29+
***************************************************************************
30+
*) Skunkware
31+
32+
You should locate your copy of the SCO Skunkware CD. The Skunkware CD
33+
is included with UnixWare 7 and current versions of OpenServer 5.
34+
35+
Skunkware includes ready-to-install versions of many popular programs that
36+
are available on the Internet. For example, gzip, gunzip, GNU make, flex,
37+
and bison are all included.
38+
39+
If you do not have this CD, the software on it
40+
is available via anonymous ftp from ftp.sco.com/skunkware.
41+
42+
For UnixWare 7.1, this CD is now labeled "Open License Software Supplement".
43+
44+
Skunkware has different versions for UnixWare and
45+
OpenServer. Make sure you install the correct version for your
46+
operating system, except as noted below.
47+
48+
49+
***************************************************************************
50+
*) GNU Make
51+
52+
You need to use the GNU make program, which is on the Skunkware CD.
53+
By default, it installs as /usr/local/bin/make. To avoid confusion
54+
with the SCO make program, you may want to rename GNU make to gmake.
55+
56+
57+
***************************************************************************
58+
*) C++ and libpq++
59+
60+
I have not been able to build libpq++, the PostgreSQL C++ interface, with
61+
the UnixWare or OpenServer C++ compilers. By default, building PostgreSQL
62+
also builds the libpq++ interface. When that fails, it causes the entire
63+
build of PostgreSQL to fail.
64+
65+
This is the problem if you see the following error message:
66+
67+
"pgenv.cc", line 47: error: no default constructor exists for class "string"
68+
69+
If you have this problem, you can disable building of libpq++ with the
70+
following configure option:
71+
72+
configure --without-CXX
73+
74+
75+
***************************************************************************
76+
*) Readline
77+
78+
If you install the readline library, then psql (the PostgreSQL command
79+
line SQL interpreter) remembers each command you type, and allows
80+
you to use arrow keys to recall and edit previous commands. This is
81+
very helpful, and is strongly recommended. The readline library is
82+
on the Skunkware CD.
83+
84+
The readline library is not included on the UnixWare 7.1 Skunkware CD. If
85+
you have the UnixWare 7.0.0 or 7.0.1 Skunkware CDs, you can install it
86+
from there. Otherwise, try ftp.sco.com/skunkware.
87+
88+
By default, readline installs into /usr/local/lib and /usr/local/include.
89+
However, the PostgreSQL configure program will not find it there without
90+
help. If you installed readline, then use the following options to configure:
91+
92+
configure --with-libs=/usr/local/lib --with-includes=/usr/local/include
93+
94+
Putting this together with the no-C++ option above yields:
95+
96+
configure --with-libs=/usr/local/lib --with-includes=/usr/local/include --without-CXX
97+
98+
99+
***************************************************************************
100+
*) Using the UDK on OpenServer
101+
102+
If you are using the new Universal Development Kit (UDK) compiler on
103+
OpenServer, you need to use different arguments to the configure program.
104+
105+
First, you need to specify the "unixware" template instead of the default.
106+
107+
Second, you need to specify the locations of the UDK libraries.
108+
109+
Putting these together:
110+
111+
configure --with-template=unixware --with-libs=/udk/usr/lib --with-includes=/udk/usr/include
112+
113+
Putting these together with the no-C++ and readline options from above:
114+
115+
./configure --with-template=unixware --with-libs="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include" --without-CXX
116+
117+
118+
***************************************************************************
119+
*) Shared Memory and SHMMAX
120+
121+
PostgreSQL supports multiple backend daemons running at once. A block
122+
of shared memory is used by the backend processes. A larger block
123+
of shared memory allows PostgreSQL to run faster and support more
124+
complicated queries.
125+
126+
By default, UnixWare 7 and OpenServer are confiugured to support shared memory
127+
blocks that are no larger than 524288 bytes, or 512K. By default, PostgreSQL
128+
tries to allocate a shared memory block that is larger than this. If
129+
you don't do anything, this allocation will fail, and the postmaster
130+
daemon will not be able to run.
131+
132+
The error message looks like this (the numbers may be different):
133+
134+
IpcMemoryCreate: shmget failed (Invalid argument) key=5432001, size=831176, permission=600
135+
FATAL 1: ShmemCreate: cannot create region
136+
137+
You have two choices: tell PostgreSQL to allocate a smaller shared memory
138+
block, or tell Unix to allow larger shared memory blocks. The latter
139+
is the preferred solution, but it requires a kernel tunable change and a
140+
reboot to implement.
141+
142+
To configure the size of the PostgreSQL shared memory block, use the -B
143+
option to the postmaster command, which configures the number of buffers
144+
used by PostgresSQL. (The shared memory block consists of these buffers
145+
and around 300K of other stuff.) Each buffer uses 8K, and by default
146+
there are 64 buffers, or 64*8*1024 = 524288 bytes (plus the ~300K of other
147+
stuff).
148+
149+
To use PostgreSQL without doing any kernel tuning, use a -B value of
150+
about 24. This would take up 24*8*1024 = 196608 bytes, plus ~300K
151+
of other stuff, yields about 500000, which will fit in under the
152+
default 512K limit.
153+
154+
Example: postmaster -B 24
155+
156+
The recommended option is to instead raise the kernel tunable SHMMAX,
157+
which controls the size of the largest allowed shared memory block.
158+
159+
*** Tuning SHMMAX on UnixWare ***
160+
161+
To display the current value of SHMMAX, run:
162+
/etc/conf/bin/idtune -g SHMMAX
163+
which displays the current, default, minimum, and maximum values, in bytes.
164+
165+
To set a new value for SHMMAX, run:
166+
/etc/conf/bin/idtune SHMMAX value
167+
where value is the new value you want to use (in bytes).
168+
169+
After setting SHMMAX, rebuild the kernel and reboot.
170+
To rebuild the kernel:
171+
/etc/conf/bin/idbuild -B
172+
173+
*** Tuning SHMMAX on OpenServer ***
174+
175+
First, cd to /etc/conf/cf.d.
176+
177+
To display the current value of SHMMAX, in bytes, run:
178+
./configure -y SHMMAX
179+
180+
To set a new value for SHMMAX, run:
181+
./configure SHMMAX=value
182+
where value is the new value you want to use (in bytes).
183+
184+
After setting SHMMAX, rebuild the kernel and reboot.
185+
To rebuild the kernel:
186+
./link_unix
187+
188+
189+
***************************************************************************
190+
*) Java and JDBC
191+
192+
The JDBC interface will not build on UnixWare or OpenServer without changes.
193+
The JDBC Makefile in src/interfaces/jdbc/Makefile uses the $$( ) construction
194+
to run an external shell command, instead of the older ` ` syntax.
195+
However, the $$( ) syntax does not work on UnixWare or OpenServer.
196+
So, each of the two uses of it must be replaced with backquotes. You can
197+
search for $$( to locate the two lines that need changing.
198+
199+
In the file src/interfaces/jdbc/Makefile :
200+
201+
change:
202+
make $$($(JAVA) makeVersion)
203+
to:
204+
make `$(JAVA) makeVersion`
205+
206+
and change:
207+
$(JAR) -c0f $@ $$($(FIND) postgresql -name "*.class" -print)
208+
to:
209+
$(JAR) -c0f $@ `$(FIND) postgresql -name "*.class" -print`
210+
211+
Of course, you also need to have installed Java on your system, and
212+
make sure that /usr/java/bin is in your PATH.
213+
214+
And, remember to use GNU make, as always.
215+
216+
217+
***************************************************************************
218+
*) Reading the PostgreSQL man pages on UnixWare
219+
220+
By default, the PostgreSQL man pages are installed into /usr/local/pgsql/man.
221+
By default, UnixWare does not look there for man pages, so you will not
222+
be able to read them.
223+
224+
You need to make two changes to access the PostgreSQL man pages from UnixWare.
225+
226+
1) You need to modify the MANPATH environment variable. I use:
227+
228+
MANPATH=/usr/local/pgsql/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp
229+
export MANPATH
230+
231+
2) The man pages for SQL commands are, by default, placed in section l
232+
(normally used for "l"ocal pages). UnixWare does not support the l section.
233+
234+
The solution I use is to move all these pages from section l to an unused
235+
section, such as section 6. To accomplish that:
236+
237+
cd /usr/local/pgsql/man
238+
mv manl man6
239+
cd man6
240+
for file in *.l
241+
do
242+
mv $file `basename $file .l`.6
243+
done
244+
245+
I have not tried using the PostgreSQL man pages on OpenServer. Volunteers??
246+

0 commit comments

Comments
 (0)