mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-09 08:10:09 +08:00
257 lines
9.9 KiB
Plaintext
257 lines
9.9 KiB
Plaintext
|
|
POSTGRES95 INSTALLATION INSTRUCTIONS
|
|
Copyright (c) 1996 Regents of the University of California
|
|
|
|
This directory contains the source and documentation for Postgres95
|
|
(version 1.02) Postgres95 is a derivative of POSTGRES 4.2 (the last
|
|
release of the UC Berkeley research project). For copyright terms
|
|
for postgres95, please see the file named COPYRIGHT. This version
|
|
was developed by a team of developers on the postgres developers
|
|
mailing list. Version 1.01 was developed by Jolly Chen and Andrew Yu.
|
|
|
|
Postgres95 has been tested on the following platforms:
|
|
|
|
alpha - DEC Alpha AXP on OSF/1 2.0
|
|
hpux - HP PA-RISC on HP-UX 9.0
|
|
i386_solaris - i386 Solaris
|
|
sparc_solaris - SUN SPARC on Solaris 2.4
|
|
sparc - SUN SPARC on SunOS 4.1.3
|
|
ultrix4 - DEC MIPS on Ultrix 4.4
|
|
linux - Intel x86 on Linux 1.2 and Linux ELF
|
|
BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
|
|
bsdi - BSD/OS 2.0 and 2.01
|
|
bsdi_2_1 - BSD/OS 2.1
|
|
aix - IBM on AIX 3.2.5
|
|
irix5 - SGI MIPS on IRIX 5.3
|
|
dgux - DG/UX 5.4R3.10
|
|
Some hooks are provided for
|
|
svr4 - Intel x86 on Intel SVR4
|
|
next - Motorola MC68K or Intel x86 on NeXTSTEP 3.2
|
|
but these are guaranteed not to work as of yet.
|
|
|
|
Postgres95 is also known to work on a number of other platforms that
|
|
the authors have not personally tested.
|
|
|
|
You should have at least 8 MB of memory and at least 30 MB of disk space to
|
|
hold the source, binaries, and user databases.
|
|
|
|
If you would like to migrate your databases from postgres 1.0 to
|
|
postgres 1.02, see the directory called MIGRATION_1.0_TO_1.02. People
|
|
upgrading from version 1.01 do not have to make any database changes.
|
|
|
|
----------------------------------------------------------------------
|
|
To install Postgres95 on UNIX platforms:
|
|
|
|
1. Create the postgres login.
|
|
|
|
Create a login called postgres (this requires root privileges). We
|
|
recommend that you run the postmaster as the user postgres for security
|
|
reasons.
|
|
|
|
If you run the postmaster as yourself, be warned that you essentially
|
|
grant all database users the ability to execute arbitrary C functions
|
|
as you without your password. (In any case, DO NOT run the postmaster
|
|
as root.)
|
|
|
|
2. Compile and install Postgres95.
|
|
|
|
If you have earlier versions of Postgres installed, you might want
|
|
to install Postgres95 in a different place.
|
|
|
|
If you're installing Postgres95 on Ultrix 4.x or Linux, see the
|
|
porting notes at the end for additional packages that you need to install
|
|
before installing Postgres95.
|
|
|
|
Our Makefiles require GNU make (called gmake in this document) and
|
|
also assume that "install" accepts BSD options. The INSTALL
|
|
variable in the Makefiles is set to the BSD-compatible version of
|
|
install. On some systems, you will have to find a BSD-compatible
|
|
install to the location of this program. (eg. bsdinst, which comes
|
|
with the MIT X Window System distribution)
|
|
|
|
Customization can be done by editing src/Makefile.global. You may change
|
|
the various configuration options here, such as where the Postgres95
|
|
executable files are installed and where postgres looks for the database
|
|
directory. The configuration switches are fairly self-explanatory, but we
|
|
will go over some of the more commonly-changed options:
|
|
|
|
- PORTNAME specifies the platform on which Postgres95 is being build
|
|
(linux is the default). You might need to change it to reflect your
|
|
platform. (sparc for SunOS 4.1.x, sparc_solaris for Solaris 2.4,
|
|
ultrix4 for Ultrix 4.4, and hpux for HP-UX 9.0)
|
|
|
|
- SRCDIR specifies where the source files are located. (defaults
|
|
to $(POSTGRESDIR)/src.)
|
|
|
|
- POSTSGRESDIR specifies the top-level directory where Postgres95
|
|
binaries, header files, libraries, and databases are installed.
|
|
|
|
- POSTGRESLOGIN specifies the user who will be doing initdb and
|
|
running the postmaster (defaults to postgres). Do not set
|
|
this to root, or any users with UID = 0!
|
|
|
|
- NAMEDATALEN and OIDNAMELEN allows you to set the maximum
|
|
length of system identifiers (table names, function names, etc.)
|
|
It defaults to 32. You may alter this if you like, but
|
|
be aware that databases created with different NAMEDATALEN's
|
|
do not interoperate.
|
|
|
|
- USE_READLINE specifies whether you want to use the GNU
|
|
readline and history libraries for the psql interactive
|
|
frontend program.
|
|
GNU readline is not supplied with postgres95 and can be found
|
|
in the usual ftp sites for GNU software.
|
|
|
|
- HBA specifies whether you wish to use host-based
|
|
authentication for postgres95. If you do use host-based
|
|
authentication, after installing, modify the file
|
|
$PGDATA/pg_hba accordingly.
|
|
|
|
After editing src/Makefile.global, you are ready to compile and
|
|
install Postgres95 (it takes about 10 minutes on a 133Mhz Pentium
|
|
running linux):
|
|
|
|
% cd src
|
|
% gmake
|
|
% gmake install
|
|
|
|
The first gmake ultimately issues the message "All of Postgres95 is
|
|
successfully made. Ready to install." If you don't get that, the make
|
|
failed, and there should be error messages at the end detailing why.
|
|
|
|
After the installation is complete, check that you have the following files
|
|
in the top level Postgres95 directory (eg. /usr/local/postgres95).
|
|
|
|
You will find the following executables in the bin directory (which
|
|
should be included in the search path of your shell):
|
|
|
|
% ls /usr/local/postgres95/bin
|
|
cleardbdir* destroydb* pg_dump* postgres*
|
|
createdb* destroyuser* pg_id* postmaster@
|
|
createuser* initdb* pg_version* psql*
|
|
|
|
You will find the following in the database directory:
|
|
|
|
% ls -R /usr/local/postgres95/data
|
|
files/
|
|
pg_hba
|
|
|
|
data/files:
|
|
global1.bki local1_template1.bki
|
|
global1.bki.source local1_template1.bki.source
|
|
|
|
3. Initialize the database.
|
|
|
|
After you have installed Postgres95, initialize the database by typing:
|
|
|
|
% initdb
|
|
|
|
4. Start the postmaster.
|
|
|
|
Now, you are ready to make the system operational by running the
|
|
postmaster daemon. There are a few environment variables which affect
|
|
its operation:
|
|
PGDATA - location of the database (eg. /usr/local/postgres95/data)
|
|
PGPORT - TCP port where it listens for connection (eg. 5432)
|
|
You don't have to set these variables if you use the (compile time)
|
|
default.
|
|
|
|
% postmaster -S
|
|
|
|
|
|
5. Testing.
|
|
|
|
We suggest you run the regression tests to make sure the release
|
|
was installed successfully. The regression tests can be found in
|
|
src/test/regress. (see src/test/regress/README for more details)
|
|
|
|
% cd /usr/local/postgres95/src/test/regress
|
|
% gmake all runtest
|
|
|
|
This will run a whole slew of regression tests and might take a long
|
|
time to run. When it's done, the output is in the file obj/regress.out.
|
|
You can compare this to a sample run that we supply in the file
|
|
sample.regress.out. (You should get roughly the same output except
|
|
for some pathnames.)
|
|
|
|
% diff obj/regress.out sample.regress.out
|
|
|
|
The regression test takes about half an hour to run on a Sparc 10.
|
|
You may want to use 'grep -v' to remove unsignificant differences.
|
|
|
|
6. Run queries.
|
|
|
|
After the database is initialized, you can create a new database. To
|
|
create a database, do the following:
|
|
|
|
% createdb foo
|
|
|
|
To connect to the postmaster, you have a choice of two front-end programs.
|
|
("psql" is recommended. "monitor" is the old terminal monitor
|
|
supplied in earlier versions of Postgres)
|
|
|
|
% psql foo
|
|
Please read the file COPYRIGHT for copyright terms of POSTGRES95
|
|
|
|
type \? for help on slash commands
|
|
type \q to quit
|
|
type \g or terminate with semicolon to execute query
|
|
You are currently connected to the database: foo
|
|
|
|
foo=>
|
|
|
|
----------------------------------------------------------------------
|
|
Questions? Bugs? Feedback?
|
|
|
|
First, please read the Frequently Asked Questions and answers
|
|
in the file called FAQ.
|
|
|
|
If you still have questions, please send them to
|
|
postgres95@postgres95.vnet.net.
|
|
|
|
If you have a bug report to make, please send a filled out version of
|
|
the file named "bug.template" to pg95-dev@ki.net.
|
|
|
|
If you would like to help out with the development and maintenance of
|
|
postgres95, send subscribe to the developers mailing list. See
|
|
README.support for more information
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Porting Notes:
|
|
-------------
|
|
Ultrix4.x:
|
|
You need to install the libdl-1.1 package since Ultrix 4.x doesn't
|
|
have a dynamic loader. It's available in
|
|
s2k-ftp.CS.Berkeley.EDU:pub/personal/andrew/libdl-1.1.tar.Z
|
|
|
|
Linux:
|
|
The linux port defaults to the ELF binary format. (Note that if you're
|
|
using ELF, you don't need dld because you'll be using the dl library
|
|
that comes with Linux ELF instead.)
|
|
|
|
To compile on non-ELF Linux, comment out the LINUX_ELF line in
|
|
src/mk/port/postgres.mk.linux. Also, the dld library MUST be obtained
|
|
and installed on the system. It enables dynamic link loading capability
|
|
to the postgres port. The dld library can be obtained from the sunsite
|
|
linux distributions. The current name is dld-3.2.5.
|
|
(Jalon Q. Zimmerman
|
|
<sneaker@powergrid.electriciti.com> 5/11/95)
|
|
|
|
To compile with flex, you need a recent version (2.5.2 or
|
|
later). Otherwise, you will get a 'yy_flush_buffer' undefined error.
|
|
|
|
BSD/OS:
|
|
For BSD/OS 2.0 and 2.01, you will need to get flex version 2.5.2
|
|
as well as the GNU dld library. Flex version 2.5.3 has a known bug.
|
|
|
|
NeXT:
|
|
The NeXT port was supplied by Tom R. Hageman <tom@basil.icce.rug.nl>.
|
|
It requires a SysV IPC emulation library and header files for
|
|
shared libary and semaphore stuff. Tom just happens to sell such
|
|
a product so contact him for information. He has also indicated that
|
|
binary releases of postgres95 for NEXTSTEP will be made available to
|
|
the general public. Contact Info@RnA.nl for information.
|
|
|
|
|