In addition to the
postgresql.conf file already mentioned,
PostgreSQL uses two other
manually-edited configuration files, which control client
authentication (their use is discussed in Chapter 20).
By default, all three configuration files are stored in the
database cluster's data directory. The parameters described in
this section allow the configuration files to be placed
elsewhere. (Doing so can ease administration. In particular it is
often easier to ensure that the configuration files are properly
backed-up when they are kept separate.)
Specifies the directory to use for data storage. This parameter can only be set at server start.
Specifies the main server configuration file
postgresql.conf). This parameter can only
be set on the
Specifies the configuration file for host-based
authentication (customarily called
pg_hba.conf). This parameter can only be
set at server start.
Specifies the configuration file for user name mapping
pg_ident.conf). This parameter can only
be set at server start. See also Section 20.2.
Specifies the name of an additional process-ID (PID) file that the server should create for use by server administration programs. This parameter can only be set at server start.
In a default installation, none of the above parameters are
set explicitly. Instead, the data directory is specified by the
-D command-line option or the
PGDATA environment variable, and the
configuration files are all found within the data directory.
If you wish to keep the configuration files elsewhere than the
data directory, the
-D command-line option or
PGDATA environment variable must point
to the directory containing the configuration files, and the
data_directory parameter must be set
postgresql.conf (or on the
command line) to show where the data directory is actually
located. Notice that
PGDATA for the location of the data directory, but
not for the location of the configuration files.
If you wish, you can specify the configuration file names and
locations individually using the parameters
config_file can only be specified on the
postgres command line, but the
others can be set within the main configuration file. If all
three parameters plus
are explicitly set, then it is not necessary to specify
When setting any of these parameters, a relative path will be
interpreted with respect to the directory in which
postgres is started.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.