.\" XXX standard disclaimer belongs here....
.\" $Header: /private/postgres/ref/unix/RCS/information,v 1.7 1992/07/13 03:45:59 ptong Exp $
.SS UNIX 6/14/90
.XA 0 "Section 2 \*- \*(UU Commands (\*(UU)"
.SP INFORMATION UNIX 6/14/90
.sp 2i
.ps 14
.ce
.b "SECTION 2 \*- \*(UU COMMANDS (\*(UU)"
.sp 3
.XA 1 "General Information"
.uh OVERVIEW
.lp
This section contains
information on the interaction between \*(PP and
the operating system.
In particular, the pages of this section describe
the \*(PP support programs which are
executable as \*(UU commands.
.uh TERMINOLOGY
.lp
In the following documentation,
the term
.i site
may be interpreted as
the host machine on which \*(PP is installed.
But since it is possible to install more than
one set of \*(PP databases on a single host,
this term more precisely denotes any
particular set of installed \*(PP binaries and databases.
.lp
The
.i "\*(PP super user"
is the user named
.i postgres
(usually),
who is the owner of the \*(PP binaries and
database files.
As the super user,
all protection mechanisms may be bypassed
and any data accessed arbitrarily.
In addition,
the \*(PP super user is allowed to
execute some support programs which are generally not available to all users.
Note that the postgres super user is
.i not
the same as root,
and should have a non-zero userid.
.lp
The
.i "database base administrator"
or
.A DBA
is the person who
is responsible for installing \*(PP
to enforce a security policy for a site.
The
.A DBA
will
add new users by the method described below,
change the status of user-defined functions
from
.b untrusted
to
.b trusted
as explained in \fBdefine function\fR(commands), and maintain a set of
template databases for use by \fBcreatedb\fR(unix).
.lp
The
.ul
postmaster is a process which acts as a clearing house for requests to
the \*(PP system.  Basically, frontend applications connect with the postmaster
which keeps tracks of any system errors and communication between the backend
processes.  The postmaster (POSTMASTER (UNIX)) takes from zero to seven
arguments to tune its behavior.
Supplying arguments is necessary only if you intend to run multiple sites
or a non-default site.
.lp
The
.ul
\*(PP backend
(.../bin/postgres) may
be executed directly from the shell by
the postgres super user (with the database name as an argument).
However, doing this bypasses the shared buffer pool and lock table
associated with a postmaster/site,
so this is not recommended in a multiuser site.
.lp
.uh NOTATION
.lp
.q .../
at the front of file names is used to represent the path
to the postgres user's home directory.
Anything in brackets (\*(lq[\*(rq and \*(lq]\*(rq) is optional.
Anything in braces (\*(lq{\*(rq and \*(lq}\*(rq) can be repeated 0 or more
times.  Parentheses ( \*(lq(\*(rq and \*(lq)\*(rq ) are used to group boolean
expressions.  \*(lq|\*(rq is the boolean operator
.A OR .
.uh "USING \*(PP FROM UNIX"
.lp
All \*(PP commands which are executed directly from a UNIX shell
are found in the directory
.q \&.../bin.
Including this directory in your search path will make
executing the commands easier.
.lp
There is a collection of system catalogs that exist at each site.
These include a
.A USER
class 
which contains an instance for each valid \*(PP user.
In the instance is a collection of \*(PP privileges,
the most relevant of which
is whether or not creation of \*(PP databases is allowed.
A \*(UU user can do nothing at all with \*(PP
until an appropriate record is installed in this system catalog class.
Further information on the system catalogs is available
by running queries on the appropraiate classes.
