Terminology
In the following documentation,
site
may be interpreted as the host machine on which
Postgres is installed.
Since it is possible to install more than one set of
Postgres
databases on a single host, this term more precisely denotes any
particular set of installed
Postgres binaries and databases.
The
Postgres super-user
is the user named postgres
who owns the Postgres
binaries and database files. As the database super-user, all
protection mechanisms may be bypassed and any data accessed
arbitrarily.
In addition, the Postgres super-user is allowed to execute
some support programs which are generally not available to all users.
Note that the Postgres super-user is
not
the same as the Unix super-user (root),
and should have a non-zero userid for security reasons.
The
database base administrator
or DBA, is the person who is responsible for installing
Postgres with mechanisms to
enforce a security policy for a site. The DBA can add new users by
the method described below
and maintain a set of template databases for use by
createdb.
The postmaster
is the process that acts as a clearing-house for requests
to the Postgres system.
Frontend applications connect to the postmaster,
which keeps tracks of any system errors and communication between the
backend processes. The postmaster
can take several command-line arguments to tune its behavior.
However, supplying arguments is necessary only if you intend to run multiple
sites or a non-default site.
The Postgres backend
(the actual executable program postgres) may be executed
directly from the user 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, therefore this is not recommended in a multiuser
site.
Notation
...
at the front of a file name is used to represent the
path to the Postgres super-user's home directory.
Anything in brackets
[
and ]
) is optional. Anything in braces
({
and }
) can be repeated 0 or more times.
Parentheses ((
and )
) are used to group boolean
expressions. |
is the boolean operator OR.