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 superuser
is the user named postgres
who owns the Postgres
binaries and database files. As the database superuser, all
protection mechanisms may be bypassed and any data accessed
arbitrarily.
In addition, the Postgres superuser is allowed to execute
some support programs which are generally not available to all users.
Note that the Postgres superuser is
not
the same as the Unix superuser (which will be referred to as root).
The superuser should have a non-zero user identifier (UID)
for security reasons.
The
database 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
...
or /usr/local/pgsql/
at the front of a file name is used to represent the
path to the Postgres superuser's home directory.
In a command synopsis, brackets
[
and ]
) indicate an optional phrase or keyword.
Anything in braces
({
and }
) and containing vertical bars (|
)
indicates that you must choose one.
In examples, parentheses ((
and )
) are used to group boolean
expressions. |
is the boolean operator OR.
Examples will show commands executed from various accounts and programs.
Commands executed from the root account will be preceeded with >
.
Commands executed from the Postgres
superuser account will be preceeded with %
, while commands
executed from an unprivileged user's account will be preceeded with
$
.
SQL commands will be preceeded with =>
or will have no leading prompt, depending on the context.
At the time of writing (Postgres v6.4) the notation for
flagging commands is not universally consistant throughout the documentation set.
Please report problems to
the Documentation Mailing List.