1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Update installation instructions to new realities. Combined into one file.

Improved automation of INSTALL file generation.
This commit is contained in:
Peter Eisentraut
2000-07-21 00:44:13 +00:00
parent cc9707247e
commit 8004bcf00e
11 changed files with 1927 additions and 1838 deletions

View File

@ -8,7 +8,7 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.16 2000/07/16 14:50:38 petere Exp $
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.17 2000/07/21 00:44:11 petere Exp $
#
#----------------------------------------------------------------------------
@ -199,3 +199,22 @@ distclean:
%.gif:
cp -p ../graphics/$@ .
# Generation of the INSTALL text file. Not fully automated, but better
# than nothing.
.PHONY: INSTALL
INSTALL: INSTALL.html
@echo "|";\
echo "| You should now take \`$<', save it as a text file in Netscape,";\
echo "| and put it in place of the existing \`INSTALL' file.";\
echo "|"
@rm -f tempfile.html tempfile.sgml
INSTALL.html: tempfile.html
sed -e 's/Chapter 1. *//g' < $< > $@
tempfile.html: tempfile.sgml
jade -d $(HDSL) -V nochunks -t sgml $< > $@
tempfile.sgml: standalone-install.sgml installation.sgml
cat $+ > $@

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.24 2000/06/30 16:14:21 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.25 2000/07/21 00:44:12 petere Exp $
Postgres Administrator's Guide.
Derived from postgres.sgml.
@ -8,6 +8,9 @@ Derived from postgres.sgml.
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity version "7.1">
<!entity majorversion "7.1">
<!entity about SYSTEM "about.sgml">
<!entity history SYSTEM "history.sgml">
<!entity info SYSTEM "info.sgml">
@ -16,13 +19,9 @@ Derived from postgres.sgml.
<!entity problems SYSTEM "problems.sgml">
<!entity y2k SYSTEM "y2k.sgml">
<!entity config SYSTEM "config.sgml">
<!entity intro-ag SYSTEM "intro-ag.sgml">
<!entity install SYSTEM "install.sgml">
<!entity installation SYSTEM "installation.sgml">
<!entity installw SYSTEM "install-win32.sgml">
<!entity layout SYSTEM "layout.sgml">
<!entity ports SYSTEM "ports.sgml">
<!entity release SYSTEM "release.sgml">
<!entity runtime SYSTEM "runtime.sgml">
<!entity client-auth SYSTEM "client-auth.sgml">
<!entity manage-ag SYSTEM "manage-ag.sgml">
@ -30,8 +29,13 @@ Derived from postgres.sgml.
<!entity backup SYSTEM "backup.sgml">
<!entity recovery SYSTEM "recovery.sgml">
<!entity regress SYSTEM "regress.sgml">
<!entity release SYSTEM "release.sgml">
<!entity biblio SYSTEM "biblio.sgml">
<!-- see standalone-install.sgml about these -->
<!entity % flattext-install-ignore "INCLUDE">
<!entity % flattext-install-include "IGNORE">
]>
<book id="admin">
@ -75,19 +79,6 @@ Derived from postgres.sgml.
</bookinfo>
<!--
<TOC> </TOC>
<LOT> </LOT>
-->
<!--
<Dedication>
<Para>
Your name here...
</Para>
</Dedication>
-->
<preface id="preface">
<title>Summary</title>
@ -104,11 +95,7 @@ Your name here...
</preface>
&intro-ag;
&ports;
&config;
&layout;
&install;
&installation;
&installw;
&runtime;
&client-auth;

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.1 2000/06/30 16:14:21 petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.2 2000/07/21 00:44:12 petere Exp $ -->
<chapter id="backup">
<title>Backup and Restore</title>
@ -340,7 +340,7 @@ tar -cf backup.tar /usr/local/pgsql/data
</sect1>
<sect1>
<sect1 id="migration">
<title>Migration between releases</title>
<para>

View File

@ -1,282 +0,0 @@
<chapter>
<title>Configuration Options</title>
<sect1>
<title>Parameters for Configuration
(<application>configure</application>)</title>
<para>
The full set of parameters available in <application>configure</application>
can be obtained by typing
<programlisting>
$ ./configure --help
</programlisting>
</para>
<para>
The following parameters may be of interest to installers:
<programlisting>
Directories to install PostgreSQL in:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local/pgsql]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--mandir=DIR man documentation in DIR [PREFIX/man]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--enable and --with options recognized:
--with-template=<replaceable>template</replaceable>
use operating system template file
see template directory
--with-includes=<replaceable>dirs</replaceable> look for header files for tcl/tk, etc in DIRS
--with-libraries=<replaceable>dirs</replaceable> look for additional libraries in DIRS
--with-libs=<replaceable>dirs</replaceable> alternate spelling of --with-libraries
--enable-locale enable locale support
--enable-recode enable cyrillic recode support
--enable-multibyte enable multibyte character support
--with-pgport=<replaceable>portnum</replaceable> change default postmaster port
--with-maxbackends=<replaceable>n</replaceable> set default maximum number of server processes
--with-tcl build Tcl interfaces and pgtclsh
--with-tclconfig=<replaceable>tcldir</replaceable>
tclConfig.sh and tkConfig.sh are in DIR
--with-perl build Perl interface and plperl
--with-odbc build ODBC driver package
--with-odbcinst=<replaceable>odbcdir</replaceable>
change default directory for odbcinst.ini
--enable-cassert enable assertion checks (for debugging)
--enable-debug build with debugging symbols (-g)
--with-CC=<replaceable>compiler</replaceable>
use specific C compiler
--with-CXX=<replaceable>compiler</replaceable>
use specific C++ compiler
--without-CXX prevent building C++ code
</programlisting>
</para>
<para>
Some systems may have trouble building a specific feature of
<productname>Postgres</productname>. For example, systems with a damaged
C++ compiler may need to specify <option>--without-CXX</option> to instruct
the build procedure to skip construction of <filename>libpq++</filename>.
</para>
<para>
Use the <option>--with-includes</option> and
<option>--with-libraries</option> options if you want to build
<productname>Postgres</productname> using include files or libraries
that are not installed in your system's standard search path. For
example, you might use these to build with an experimental version of
Tcl. If you need to specify more than one nonstandard directory for
include files or libraries, do it like this:
<programlisting>
--with-includes="/opt/tcl/include /opt/perl5/include"
</programlisting>
</para>
</sect1>
<sect1>
<title>Parameters for Building (<application>make</application>)</title>
<para>
Many installation-related parameters can be set in the building
stage of <productname>Postgres</productname> installation.
</para>
<para>
In most cases, these parameters should be placed in a file,
<filename>Makefile.custom</filename>, intended just for that purpose.
The default distribution does not contain this optional file, so you
will create it using a text editor of your choice. When upgrading installations,
you can simply copy your old Makefile.custom to the new installation before
doing the build.
</para>
<para>
Alternatively, you can set variables on the <application>make</application>
command line:
<programlisting>
make [ <replaceable>variable</replaceable>=<replaceable>value</replaceable> [...] ]
</programlisting>
</para>
<para>
A few of the many variables that can be specified are:
<variablelist>
<varlistentry>
<term>
<envar>POSTGRESDIR</envar>
</term>
<listitem>
<para>
Top of the installation tree.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>BINDIR</envar>
</term>
<listitem>
<para>
Location of applications and utilities.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>LIBDIR</envar>
</term>
<listitem>
<para>
Location of object libraries, including shared libraries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>HEADERDIR</envar>
</term>
<listitem>
<para>
Location of include files.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>ODBCINST</envar>
</term>
<listitem>
<para>
Location of installation-wide <application>psqlODBC</application>
(<acronym>ODBC</acronym>) configuration file.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
There are other optional parameters which are not as commonly used.
Many of those listed below are appropriate when doing
<application>Postgres</application> server code development.
<variablelist>
<varlistentry>
<term>
<envar>CFLAGS</envar>
</term>
<listitem>
<para>
Set flags for the C compiler.
Should be assigned with "+=" to retain relevant default parameters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>YFLAGS</envar>
</term>
<listitem>
<para>
Set flags for the yacc/bison parser. <option>-v</option> might be
used to help diagnose problems building a new parser.
Should be assigned with "+=" to retain relevant default parameters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>USE_TCL</envar>
</term>
<listitem>
<para>
Enable Tcl interface building.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>HSTYLE</envar>
</term>
<listitem>
<para>
DocBook <acronym>HTML</acronym> style sheets for building the
documentation from scratch.
Not used unless you are developing new documentation from the
DocBook-compatible <acronym>SGML</acronym> source documents in
<filename>doc/src/sgml/</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>PSTYLE</envar>
</term>
<listitem>
<para>
DocBook style sheets for building printed documentation from scratch.
Not used unless you are developing new documentation from the
DocBook-compatible <acronym>SGML</acronym> source documents in
<filename>doc/src/sgml/</filename>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Here is an example <filename>Makefile.custom</filename> for a
PentiumPro Linux system:
<programlisting>
# Makefile.custom
# Thomas Lockhart 1999-06-01
POSTGRESDIR= /opt/postgres/current
CFLAGS+= -m486 -O2
# documentation
HSTYLE= /home/tgl/SGML/db118.d/docbook/html
PSTYLE= /home/tgl/SGML/db118.d/docbook/print
</programlisting>
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,658 +0,0 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/install.sgml,v 1.45 2000/06/05 17:07:53 momjian Exp $
-->
<chapter id="install">
<title>Installation</title>
<abstract>
<para>
Installation instructions for
<productname>PostgreSQL</productname> 7.0.2.
</para>
</abstract>
<para>
If you haven't gotten the <productname>PostgreSQL</productname> distribution,
get it from <ulink url="ftp://ftp.postgresql.org">ftp.postgresql.org</ulink>,
then unpack it:
<programlisting>
&gt; gunzip postgresql-7.0.2.tar.gz
&gt; tar -xf postgresql-7.0.2.tar
&gt; mv postgresql-7.0.2 /usr/src
</programlisting>
</para>
<sect1>
<title>Before you start</title>
<para>
Building <productname>PostgreSQL</productname> requires <acronym>GNU</acronym>
<application>make</application>. It will <emphasis>not</emphasis>
work with other <application>make</application> programs. On GNU/Linux systems
GNU make is the default tool, on other systems you may find that
GNU <application>make</application> is installed under the name
<literal>gmake</literal>.
We will use that name from now on to indicate <acronym>GNU</acronym>
<application>make</application>, no matter what name it has on your system.
To test for <acronym>GNU</acronym> <application>make</application> enter
<programlisting>
&gt; <userinput>gmake --version</userinput>
</programlisting>
If you need to get <acronym>GNU</acronym>
<application>make</application>, you can
find it at <ulink url="ftp://ftp.gnu.org">ftp://ftp.gnu.org</ulink>.
</para>
<para>
Up to date information on supported platforms is at
<ulink url="http://www.postgresql.org/docs/admin/ports.htm">
http://www.postgresql.org/docs/admin/ports.htm</ulink>.
In general, most Unix-compatible platforms with modern libraries
should be able to run
<productname>PostgreSQL</productname>. In the
<filename>doc</filename> subdirectory
of the distribution are several platform-specific FAQ and README documents you
might wish to consult if you are having trouble.
</para>
<para>
Although the minimum required memory for running
<productname>PostgreSQL</productname>
can be as little as 8MB, there are noticeable speed improvements
when expanding memory
up to 96MB or beyond. The rule is you can never have too much memory.
</para>
<para>
Check that you have sufficient disk space. You will need about
30 Mbytes for the source tree during compilation and about 5 Mbytes for
the installation directory. An empty database takes about 1 Mbyte, otherwise
they take about five times the amount of space that a flat text file with the
same data would take. If you run the regression tests you will temporarily need
an extra 20MB.
</para>
<para>
To check for disk space, use
<programlisting>
&gt; df -k
</programlisting>
</para>
<para>
Considering today's prices for hard disks, getting a large and
fast hard disk should
probably be in your plans before putting a database into production use.
</para>
</sect1>
<sect1>
<title>Installation Procedure</title>
<procedure>
<title><productname>PostgreSQL</productname> Installation</title>
<para>
For a fresh install or upgrading from previous releases of
<productname>PostgreSQL</productname>:
</para>
<step performance="optional">
<para>
Create the <productname>PostgreSQL</productname> superuser account.
This is the user the server will run as. For production use you
should create a separate, unprivileged account
(<literal>postgres</literal> is commonly used).
If you do not have root access or just want to play around,
your own user account is enough.
</para>
<para>
Running <productname>PostgreSQL</productname> as
<literal>root</literal>, <literal>bin</literal>,
or any other account with special access rights is a security risk;
<emphasis>don't do it</emphasis>. The postmaster will in fact refuse
to start as <literal>root</literal>.
</para>
<para>
You need not do the building and installation itself under this account
(although you can). You will be told when you need to login as the
database superuser.
</para>
</step>
<step performance="required">
<para>
Configure the source code for your system. It is this step at which
you can specify your actual installation path for the build process
and make choices about what gets installed. Change into the
<filename>src</filename>
subdirectory and type:
<programlisting>
&gt; ./configure
</programlisting>
followed by any options you might want to give it. For a first installation
you should be able to do fine without any.
For a complete list of options, type:
<programlisting>
&gt; ./configure --help
</programlisting>
Some of the more commonly used ones are:
<variablelist>
<varlistentry>
<term>--prefix=BASEDIR</term>
<listitem>
<para>
Selects a different base directory for the installation of
<productname>PostgreSQL</productname>. The default is
<filename>/usr/local/pgsql</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--enable-locale</term>
<listitem>
<para>
If you want to use locales.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--enable-multibyte</term>
<listitem>
<para>
Allows the use of multibyte character encodings. This is primarily for
languages like Japanese, Korean, or Chinese.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--with-perl</term>
<listitem>
<para>
Builds the Perl interface and plperl extension language.
Please note that the Perl interface needs to be
installed into the usual place for Perl modules (typically under
<filename>/usr/lib/perl</filename>), so you must have root access
to perform the installation step. (It is often easiest to leave out
<option>--with-perl</option> initially, and then build and install the
Perl interface after completing the installation of PostgreSQL
itself.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--with-odbc</term>
<listitem>
<para>
Builds the ODBC driver package.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--with-tcl</term>
<listitem>
<para>
Builds interface libraries and programs requiring
Tcl/Tk, including libpgtcl, pgtclsh, and pgtksh.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</step>
<step performance="required">
<para>
Compile the program. Type
<programlisting>
&gt; gmake
</programlisting>
The compilation process can take anywhere from 10 minutes to an hour.
Your mileage will most certainly vary. Remember to use GNU make.
</para>
<para>
The last line displayed will hopefully be
<programlisting>
All of PostgreSQL is successfully made. Ready to install.
</programlisting>
</para>
</step>
<step performance="optional">
<para>
If you want to test the newly built server before you install it,
you can run the regression tests at this point. The regression tests
are a test suite to verify that <productname>PostgreSQL</productname>
runs on your machine in the way the developers expected it to.
For detailed instructions see <xref endterm="regress-title"
linkend="regress">.
(Be sure to use the "parallel regress test" method, since the sequential
method only works with an already-installed server.)
</para>
</step>
<step performance="required">
<para>
If you are not upgrading an existing system, skip to
<xref linkend="continue">.
</para>
<para>
If you are running 7.*, skip to step
<xref linkend="nodump">.
</para>
<para>
You now need to back up your existing database.
To dump your database installation, type:
<programlisting>
&gt; pg_dumpall > db.out
</programlisting>
If you wish to preserve object id's (oids), then use the -o
option when running <application>pg_dumpall</application>.
However, unless you have a
special reason for doing this (such as using OIDs as keys
in tables), don't do it.
</para>
<para>
Make sure to use the <application>pg_dumpall</application>
command from the version you are currently running.
7.0.2's <application>pg_dumpall</application> should not
be used on older databases.
</para>
<caution>
<para>
You must make sure that your database is not updated in the middle of
your backup. If necessary, bring down postmaster, edit the permissions
in file <filename>/usr/local/pgsql/data/pg_hba.conf</filename>
to allow only you on, then
bring <application>postmaster</application> back up.
</para>
</caution>
<para>
Rather than using <application>pg_dumpall</application>,
<application>pg_upgrade</application> can often be used.
</para>
</step>
<step performance="required" id="nodump">
<para>
If you are upgrading an existing system, kill the database
server now. Type
<programlisting>
&gt; ps ax | grep postmaster
</programlisting>
or
<programlisting>
&gt; ps -e | grep postmaster
</programlisting>
(It depends on your system which one of these two works. No harm can be done
by typing the wrong one.)
This should list the process numbers for a number of processes, similar
to this:
<programlisting>
263 ? SW 0:00 (postmaster)
777 p1 S 0:00 grep postmaster
</programlisting>
Type the following line, with <replaceable>pid</replaceable>
replaced by the process id for process <literal>postmaster</literal>
(263 in the above case). (Do not use the id for the process
"grep postmaster".)
<programlisting>
&gt; kill <replaceable>pid</replaceable>
</programlisting>
</para>
<tip>
<para>
On systems which have <productname>PostgreSQL</productname>
started at boot time, there
is probably a startup file that will accomplish the same
thing. For example, on a
Redhat Linux system one might find that
<programlisting>
&gt; /etc/rc.d/init.d/postgres.init stop
</programlisting>
works.
</para>
</tip>
<para>
If you used pg_dumpall, move the old directory out of the way.
Type the following:
<programlisting>
&gt; mv /usr/local/pgsql /usr/local/pgsql.old
</programlisting>
(substitute your particular paths).
</para>
</step>
<step performance="required" id="continue">
<para>
Install the <productname>PostgreSQL</productname> executable files and
libraries. Type
<programlisting>
&gt; gmake install
</programlisting>
</para>
<para>
You should do this step as the user that you want the installed executables
to be owned by. This does not have to be the same as the database superuser;
some people prefer to have the installed files be owned by root.
</para>
</step>
<step performance="required">
<para>
If necessary, tell your system how to find the new shared libraries.
How to do this varies between platforms. The most widely usable method
is to set the environment variable
<envar>LD_LIBRARY_PATH</envar>:
<programlisting>
&gt; LD_LIBRARY_PATH=/usr/local/pgsql/lib
&gt; export LD_LIBRARY_PATH
</programlisting>
on sh, ksh, bash, zsh or
<programlisting>
&gt; setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
</programlisting>
on csh or tcsh.
You might want to put this into a shell startup file such as
<filename>/etc/profile</filename>.
</para>
<para>
On some systems the following is the preferred method, but you must have root
access. Edit file <filename>/etc/ld.so.conf</filename> to add a line
<programlisting>
<filename>/usr/local/pgsql/lib</filename>
</programlisting>
Then run command <command>/sbin/ldconfig</command>.
</para>
<para>
If in doubt, refer to the manual pages of your system. If you later on get
a message like
<programlisting>
psql: error in loading shared libraries
libpq.so.2.1: cannot open shared object file: No such file or directory
</programlisting>
then the above was necessary. Simply do this step then.
</para>
</step>
<step performance="required">
<para>
If you moved the old directory out of the way,
create the database installation (the working data files).
To do this you must log in to your
<productname>PostgreSQL</productname> superuser account. It will not
work as root.
<programlisting>
&gt; mkdir /usr/local/pgsql/data
&gt; chown postgres /usr/local/pgsql/data
&gt; su - postgres
&gt; /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
</programlisting>
</para>
<para>
The <option>-D</option> option specifies the location where the data will be
stored. You can use any path you want, it does not have to be under
the installation directory. Just make sure that the superuser account
can write to the directory (or create it, if it doesn't already exist)
before starting <command>initdb</command>.
(If you have already been doing the installation up to now as the
<productname>PostgreSQL</productname>
superuser, you may have to log in as root temporarily to create the data
directory underneath a root-owned directory.)
</para>
</step>
<step performance="required">
<para>
The previous step should have told you how to start up the database server.
Do so now. The command should look something like
<programlisting>
&gt; /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
</programlisting>
This will start the server in the foreground. To make it detach to
the background, you can use the <option>-S</option> option, but then you won't
see any log messages the server produces. A better way to put the server
in the background is
<programlisting>
&gt; nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
&lt;/dev/null &gt;>server.log 2&gt;>1 &amp;
</programlisting>
</para>
</step>
<step performance="optional">
<para>
If you did a pg_dumpall, reload your data back in:
<programlisting>
&gt; /usr/local/pgsql/bin/psql -d template1 -f db.out
</programlisting>
You also might want to copy over the old <filename>pg_hba.conf</filename>
file and any other files you might have had set up for authentication, such
as password files.
</para>
</step>
</procedure>
<para>
This concludes the installation proper. To make your life more
productive and enjoyable
you should look at the following optional steps and suggestions:
</para>
<itemizedlist>
<listitem>
<para>
Life will be more convenient if you set up some environment
variables. First of all
you probably want to include
<filename>/usr/local/pgsql/bin</filename> (or equivalent)
into your <envar>PATH</envar>. To do this, add the following to
your shell startup
file, such as <filename>~/.bash_profile</filename> (or
<filename>/etc/profile</filename>,
if you want it to affect every user):
<programlisting>
&gt; PATH=$PATH:/usr/local/pgsql/bin
</programlisting>
</para>
<para>
Furthermore, if you set <envar>PGDATA</envar> in the environment
of the PostgreSQL
superuser, you can omit the <option>-D</option> for
<filename>postmaster</filename>
and <filename>initdb</filename>.
</para>
</listitem>
<listitem>
<para>
You probably want to install the <application>man</application> and
<acronym>HTML</acronym> documentation. Type
<programlisting>
&gt; cd /usr/src/pgsql/postgresql-7.0.2/doc
&gt; gmake install
</programlisting>
This will install files under <filename>/usr/local/pgsql/doc</filename>
and <filename>/usr/local/pgsql/man</filename>. To enable your system
to find the <application>man</application> documentation, you need to
add a line like the following to a shell startup file:
<programlisting>
&gt; MANPATH=$MANPATH:/usr/local/pgsql/man
</programlisting>
</para>
<para>
The documentation is also available in Postscript format. If you have
a Postscript printer, or have your machine already set up to accept
Postscript files using a print filter, then to print the User's Guide
simply type
<programlisting>
&gt; cd /usr/local/pgsql/doc
&gt; gunzip -c user.ps.tz | lpr
</programlisting>
Here is how you might do it if you have Ghostscript on your system and are
writing to a laserjet printer.
<programlisting>
&gt; gunzip -c user.ps.gz \
| gs -sDEVICE=laserjet -r300 -q -dNOPAUSE -sOutputFile=- \
| lpr
</programlisting>
Printer setups can vary wildly from system to system.
If in doubt, consult your manuals or your local expert.
</para>
<para>
The Adminstrator's Guide should probably be your first reading if you
are completely new to <productname>PostgreSQL</productname>, as it contains
information about how to set up database users and authentication.
</para>
</listitem>
<listitem>
<para>
Usually, you will want to modify your computer so that it will automatically
start the database server whenever it boots.
This is not required; the <productname>PostgreSQL</productname> server can
be run successfully from non-privileged accounts without root intervention.
</para>
<para>
Different systems have different conventions for starting up
daemons at boot time,
so you are advised to familiarize yourself with them.
Most systems have a file <filename>/etc/rc.local</filename> or
<filename>/etc/rc.d/rc.local</filename> which is almost
certainly no bad place
to put such a command.
Whatever you do, postmaster must be run by the
<productname>PostgreSQL</productname>
superuser (<literal>postgres</literal>) <emphasis>and not by
root</emphasis> or
any other user. Therefore you probably always want to form your command lines
along the lines of <literal>su -c '...' postgres</literal>.
</para>
<para>
It might be advisable to keep a log of the server output. To
start the server that way
try:
<programlisting>
&gt; nohup su -c 'postmaster -D /usr/local/pgsql/data > server.log 2>&1' postgres &
</programlisting>
</para>
<para>
Here are a few more operating system specific suggestions.
<itemizedlist>
<listitem>
<para>
Edit file rc.local on NetBSD or file rc2.d on SPARC Solaris
2.5.1 to contain the following single line:
<programlisting>
&gt; su postgres -c "/usr/local/pgsql/bin/postmaster -S -D /usr/local/pgsql/data"
</programlisting>
</para>
</listitem>
<listitem>
<para>
In FreeBSD 2.2-RELEASE edit /usr/local/etc/rc.d/pgsql.sh to
contain the following lines and make it chmod 755 and chown
root:bin.
<programlisting>
#!/bin/sh
[ -x /usr/local/pgsql/bin/postmaster ] && {
su -l pgsql -c 'exec /usr/local/pgsql/bin/postmaster
-D/usr/local/pgsql/data
-S -o -F > /usr/local/pgsql/errlog' &
echo -n ' pgsql'
}
</programlisting>
You may put the line breaks as shown above. The shell is smart
enough to keep parsing beyond end-of-line if there is an
expression unfinished. The exec saves one layer of shell under
the postmaster process so the parent is init.
</para>
</listitem>
<listitem>
<para>
In RedHat Linux add a file
<filename>/etc/rc.d/init.d/postgres.init</filename>
which is based on the example in <filename>contrib/linux/</filename>.
Then make a softlink to this file from
<filename>/etc/rc.d/rc5.d/S98postgres.init</filename>.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Run the regression tests against the installed server (using the sequential
test method). If you didn't run the tests before installation, you should
definitely do it now.
For detailed instructions see
<xref endterm="regress-title" linkend="regress">.
</para>
</listitem>
</itemizedlist>
<para>
To start experimenting with <productname>Postgres</productname>,
set up the paths as explained above
and start the server. To create a database, type
<programlisting>
&gt; createdb testdb
</programlisting>
Then enter
<programlisting>
&gt; psql testdb
</programlisting>
to connect to that database. At the prompt you can enter SQL commands
and start experimenting.
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->

File diff suppressed because it is too large Load Diff

View File

@ -1,82 +0,0 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/layout.sgml,v 2.3 2000/03/31 03:27:40 thomas Exp $
-->
<chapter id="layout">
<Title>System Layout</Title>
<Para>
<Figure Id="ADMIN-LAYOUT">
<Title><ProductName>Postgres</ProductName> file layout</Title>
<Graphic Align="center" FileRef="layout.gif" Format="GIF"></Graphic>
</Figure>
<XRef LinkEnd="ADMIN-LAYOUT" EndTerm="ADMIN-LAYOUT">
shows how the <ProductName>Postgres</ProductName> distribution is laid
out when installed in the default way. For simplicity,
we will assume that <ProductName>Postgres</ProductName>
has been installed in the
directory <filename>/usr/local/pgsql</filename>. Therefore, wherever
you see the directory <filename>/usr/local/pgsql</filename> you should
substitute the name of the directory where
<ProductName>Postgres</ProductName> is
actually installed.
All <ProductName>Postgres</ProductName> commands are installed
in the directory
<filename>/usr/local/pgsql/bin</filename>. Therefore, you should add
this directory to your shell command path. If you use
a variant of the Berkeley C shell, such as csh or tcsh,
you would add
<ProgramListing>
set path = ( /usr/local/pgsql/bin path )
</ProgramListing>
in the .login file in your home directory. If you use
a variant of the Bourne shell, such as sh, ksh, or
bash, then you would add
<ProgramListing>
PATH=/usr/local/pgsql/bin:$PATH
export PATH
</ProgramListing>
to the .profile file in your home directory.
From now on, we will assume that you have added the
<ProductName>Postgres</ProductName> bin directory to your path.
In addition, we
will make frequent reference to "setting a shell
variable" or "setting an environment variable" throughout
this document. If you did not fully understand the
last paragraph on modifying your search path, you
should consult the Unix manual pages that describe your
shell before going any further.
</Para>
<Para>
If you have not set things up in the
default way, you may have some more work to do.
For example, if the database server machine is a remote machine, you
will need to set the <envar>PGHOST</envar> environment variable to the name
of the database server machine. The environment variable
<envar>PGPORT</envar> may also have to be set. The bottom line is this: if
you try to start an application program and it complains
that it cannot connect to the <Application>postmaster</Application>,
you must go back and make sure that your
environment is properly set up.
</Para>
</Chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,381 +0,0 @@
<chapter id="ports">
<title>Ports</title>
<para>
This manual describes version 7.0 of <productname>Postgres</productname>.
The <productname>Postgres</productname> developer community has
compiled and tested <productname>Postgres</productname> on a
number of platforms. Check
<ulink url="http://www.postgresql.org/docs/admin/ports.htm">the web site</ulink>
for the latest information.
</para>
<sect1>
<title>Currently Supported Platforms</title>
<para>
At the time of publication, the following platforms have been tested:
<table tocentry="1">
<title>Supported Platforms</title>
<tgroup cols="4">
<thead>
<row>
<entry><acronym>OS</acronym></entry>
<entry>Processor</entry>
<entry>Version</entry>
<entry>Reported</entry>
<entry>Remarks</entry>
</row>
</thead>
<tbody>
<row>
<entry>AIX 4.3.2</entry>
<entry>RS6000</entry>
<entry>v7.0</entry>
<entry>2000-04-05</entry>
<entry><ulink url="mailto:Andreas.Zeugswetter@telecom.at">Andreas Zeugswetter</ulink></entry>
</row>
<row>
<entry>BSDI 4.01</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-04</entry>
<entry><ulink url="mailto:maillist@candle.pha.pa.us">Bruce Momjian</ulink></entry>
</row>
<row>
<entry>Compaq Tru64 5.0</entry>
<entry>Alpha</entry>
<entry>v7.0</entry>
<entry>2000-04-11</entry>
<entry><ulink url="mailto:andrew.mcmurry@astro.uio.no">Andrew McMurry</ulink></entry>
</row>
<row>
<entry>FreeBSD 4.0</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-04</entry>
<entry><ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink></entry>
</row>
<row>
<entry>HPUX</entry>
<entry>PA-RISC</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry>Both 9.0x and 10.20.
<ulink url="mailto:tgl@sss.pgh.pa.us">Tom Lane</ulink></entry>
</row>
<row>
<entry>IRIX 6.5.6f</entry>
<entry>MIPS</entry>
<entry>v6.5.3</entry>
<entry>2000-02-18</entry>
<entry>MIPSPro 7.3.1.1m N32 build.
<ulink url="mailto:hxpro@cinesite.co.uk">Kevin Wheatley</ulink></entry>
</row>
<row>
<entry>Linux 2.0.x</entry>
<entry>Alpha</entry>
<entry>v7.0</entry>
<entry>2000-04-05</entry>
<entry>With published patches.
<ulink url="mailto:pgsql@rkirkpat.net">Ryan Kirkpatrick</ulink></entry>
</row>
<row>
<entry>Linux 2.2.x</entry>
<entry>armv4l</entry>
<entry>v7.0</entry>
<entry>2000-04-17</entry>
<entry>Regression test needs work.
<ulink url="mailto:segfault@hardline.org">Mark Knox</ulink></entry>
</row>
<row>
<entry>Linux 2.2.x</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-03-26</entry>
<entry><ulink url="mailto:lamar.owen@wgcr.org">Lamar Owens</ulink></entry>
</row>
<row>
<entry>Linux 2.0.x</entry>
<entry>MIPS</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>Cobalt Qube.
<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink></entry>
</row>
<row>
<entry>Linux 2.2.5</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>2000-04-02</entry>
<entry><ulink url="mailto:szybist@boxhill.com">Tom Szybist</ulink></entry>
</row>
<row>
<entry>LinuxPPC R4</entry>
<entry>PPC603e</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry><ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink></entry>
</row>
<row>
<entry>mklinux</entry>
<entry>PPC750</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry><ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink></entry>
</row>
<row>
<entry>NetBSD 1.4</entry>
<entry>arm32</entry>
<entry>v7.0</entry>
<entry>2000-04-08</entry>
<entry><ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
Welche</ulink></entry>
</row>
<row>
<entry>NetBSD 1.4U</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-03-26</entry>
<entry><ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
Welche</ulink></entry>
</row>
<row>
<entry>NetBSD</entry>
<entry>m68k</entry>
<entry>v7.0</entry>
<entry>2000-04-10</entry>
<entry>Mac 8xx.
<ulink url="mailto:hotz@jpl.nasa.gov">Henry B. Hotz</ulink></entry>
</row>
<row>
<entry>NetBSD/sparc</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry><ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink></entry>
</row>
<row>
<entry>QNX 4.25</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-01</entry>
<entry><ulink url="mailto:kardos@repas-aeg.de">Dr. Andreas Kardos</ulink></entry>
</row>
<row>
<entry>SCO OpenServer 5</entry>
<entry>x86</entry>
<entry>v6.5</entry>
<entry>1999-05-25</entry>
<entry><ulink url="mailto:andrew@compclass.com">Andrew Merrill</ulink></entry>
</row>
<row>
<entry>SCO UnixWare 7</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-18</entry>
<entry>See FAQ.
<ulink url="mailto:Bill.Allie@mug.org">Billy G. Allie</ulink></entry>
</row>
<row>
<entry>Solaris</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry><ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink></entry>
</row>
<row>
<entry>Solaris 2.5.1-2.7</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry><ulink url="mailto:peter_e@gmx.net">Peter Eisentraut</ulink>,
<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink></entry>
</row>
<row>
<entry>SunOS 4.1.4</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry><ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink></entry>
</row>
<row>
<entry>Windows/Win32</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-04-02</entry>
<entry>Client-side libraries or ODBC/JDBC. No server-side.
<ulink url="mha@sollentuna.net">Magnus Hagander</ulink></entry>
</row>
<row>
<entry>WinNT/Cygwin</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-03-30</entry>
<entry>Uses Cygwin library.
<ulink url="mailto:horak@sit.plzen-city.cz">Daniel Horak</ulink></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<note>
<para>
For <productname>Windows NT</productname>,
the server-side port of <productname>Postgres</productname> uses
the RedHat/Cygnus <productname>Cygwin</productname> library and
toolset. For <productname>Windows 9x</productname>, no
server-side port is available due to OS limitations.
</para>
</note>
</sect1>
<sect1>
<title>Unsupported Platforms</title>
<para>
Platforms listed for v6.3.x-v6.5.x should also work with v7.0,
but we did not receive explicit confirmation of such at the time this
list was compiled. We include these here to let you know that
these platforms <emphasis>could</emphasis> be supported if given some
attention.
</para>
<para>
At the time of publication, the following platforms have not been
tested for v7.0 or v6.5.x:
<table tocentry="1">
<title>Unsupported Platforms</title>
<tgroup cols="4">
<thead>
<row>
<entry><acronym>OS</acronym></entry>
<entry>Processor</entry>
<entry>Version</entry>
<entry>Reported</entry>
<entry>Remarks</entry>
</row>
</thead>
<tbody>
<row>
<entry>BeOS</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-05-01</entry>
<entry>Client-side coming soon?
<ulink url="mailto:adam@newsnipple.com">Adam Haberlach</ulink></entry>
</row>
<row>
<entry>DGUX 5.4R4.11</entry>
<entry>m88k</entry>
<entry>v6.3</entry>
<entry>1998-03-01</entry>
<entry>v6.4 probably OK. Needs new maintainer.
<ulink url="mailto:geek+@cmu.edu">Brian E Gallew</ulink></entry>
</row>
<row>
<entry>NetBSD-current</entry>
<entry>NS32532</entry>
<entry>v6.4</entry>
<entry>1998-10-27</entry>
<entry>Date math annoyances.
<ulink url="mailto:jonb@metronet.com">Jon Buller</ulink></entry>
</row>
<row>
<entry>NetBSD 1.3</entry>
<entry>VAX</entry>
<entry>v6.3</entry>
<entry>1998-03-01</entry>
<entry>v7.0 should work.
<ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink></entry>
</row>
<row>
<entry>SVR4 4.4</entry>
<entry>m88k</entry>
<entry>v6.2.1</entry>
<entry>1998-03-01</entry>
<entry>v6.4.x will need TAS spinlock code.
<ulink url="mailto:dlw@seavme.xroads.com">Doug Winterburn</ulink></entry>
</row>
<row>
<entry>SVR4</entry>
<entry>MIPS</entry>
<entry>v6.4</entry>
<entry>1998-10-28</entry>
<entry>No 64-bit int.
<ulink url="mailto:ridderbusch.pad@sni.de">Frank Ridderbusch</ulink></entry>
</row>
<row>
<entry>Ultrix</entry>
<entry>MIPS, VAX</entry>
<entry>v6.x</entry>
<entry>1998-03-01</entry>
<entry>No recent reports; obsolete?</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
There are a few platforms which have been attempted and which have been
reported to not work with the standard distribution.
Others listed here do not provide sufficient library support for an attempt.
<table tocentry="1">
<title>Incompatible Platforms</title>
<titleabbrev>Incompatibles</titleabbrev>
<tgroup cols="4">
<thead>
<row>
<entry><acronym>OS</acronym></entry>
<entry>Processor</entry>
<entry>Version</entry>
<entry>Reported</entry>
<entry>Remarks</entry>
</row>
</thead>
<tbody>
<row>
<entry>MacOS</entry>
<entry>all</entry>
<entry>v6.x</entry>
<entry>1998-03-01</entry>
<entry>Not library compatible; use ODBC/JDBC</entry>
</row>
<row>
<entry>NextStep</entry>
<entry>x86</entry>
<entry>v6.x</entry>
<entry>1998-03-01</entry>
<entry>Client-only support; v1.0.9 worked with patches
<ulink url="mailto:dave@turbocat.de">David Wetzel</ulink></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,9 +1,12 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.38 2000/07/01 15:05:47 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.39 2000/07/21 00:44:13 petere Exp $
-->
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity version "7.1">
<!entity majorversion "7.1">
<!entity about SYSTEM "about.sgml">
<!entity history SYSTEM "history.sgml">
<!entity info SYSTEM "info.sgml">
@ -47,12 +50,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.38 2000/07/01 15:05:47 pe
%allfiles;
<!-- administrator's guide -->
<!entity config SYSTEM "config.sgml">
<!entity intro-ag SYSTEM "intro-ag.sgml">
<!entity install SYSTEM "install.sgml">
<!entity installation SYSTEM "installation.sgml">
<!entity installw SYSTEM "install-win32.sgml">
<!entity layout SYSTEM "layout.sgml">
<!entity ports SYSTEM "ports.sgml">
<!entity recovery SYSTEM "recovery.sgml">
<!entity regress SYSTEM "regress.sgml">
<!entity release SYSTEM "release.sgml">
@ -103,6 +103,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.38 2000/07/01 15:05:47 pe
<!entity page SYSTEM "page.sgml">
<!entity protocol SYSTEM "protocol.sgml">
<!entity sources SYSTEM "sources.sgml">
<!-- see standalone-install.sgml about these -->
<!entity % flattext-install-ignore "INCLUDE">
<!entity % flattext-install-include "IGNORE">
]>
<!-- entity manpages SYSTEM "man/manpages.sgml" subdoc -->
@ -217,10 +223,7 @@ Your name here...
included twice.
&intro-ag;
-->
&ports;
&config;
&layout;
&install;
&installation;
&installw;
&runtime;
&client-auth;

View File

@ -0,0 +1,42 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/standalone-install.sgml,v 2.1 2000/07/21 00:44:13 petere Exp $ -->
<!--
This file helps in generating the INSTALL text file that lives in the
top level directory of the distribution. The exact process is like
this:
1. Paste together with installation.sgml
2. Process with jade to HTML (use -V nochunks)
3. Remove "Chapter 1" heading
4. Save as text file in Netscape
5. Put in place of old INSTALL file
Running `make INSTALL' in the doc/src/sgml directory will do 1 through
3 for you.
-->
<!doctype chapter PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity version "7.1">
<!entity majorversion "7.1">
<!--
The standalone version has some portions that are different from the
version that is integrated into the Administrator's Guide, in
particular as regards links. The following are essentially SGML's
equivalent of C's #ifdef and friends. The other end of this is in
installation.sgml.
-->
<!entity % flattext-install-ignore "IGNORE">
<!entity % flattext-install-include "INCLUDE">
<!--
When you're building the Administrator's Guide, you want to flip the
IGNORE and INCLUDE.
-->
]>