postgresql/INSTALL

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.