summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/runtime-config-file-locations.html
blob: 73cf1b2dd5095acc0eba37fcf6770cda38f236af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>20.2. File Locations</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="config-setting.html" title="20.1. Setting Parameters" /><link rel="next" href="runtime-config-connection.html" title="20.3. Connections and Authentication" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">20.2. File Locations</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="config-setting.html" title="20.1. Setting Parameters">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="runtime-config.html" title="Chapter 20. Server Configuration">Up</a></td><th width="60%" align="center">Chapter 20. Server Configuration</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 15.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="runtime-config-connection.html" title="20.3. Connections and Authentication">Next</a></td></tr></table><hr /></div><div class="sect1" id="RUNTIME-CONFIG-FILE-LOCATIONS"><div class="titlepage"><div><div><h2 class="title" style="clear: both">20.2. File Locations</h2></div></div></div><p>
      In addition to the <code class="filename">postgresql.conf</code> file
      already mentioned, <span class="productname">PostgreSQL</span> uses
      two other manually-edited configuration files, which control
      client authentication (their use is discussed in <a class="xref" href="client-authentication.html" title="Chapter 21. Client Authentication">Chapter 21</a>).  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.)
     </p><div class="variablelist"><dl class="variablelist"><dt id="GUC-DATA-DIRECTORY"><span class="term"><code class="varname">data_directory</code> (<code class="type">string</code>)
      <a id="id-1.6.7.5.3.1.1.3" class="indexterm"></a>
      </span></dt><dd><p>
         Specifies the directory to use for data storage.
         This parameter can only be set at server start.
       </p></dd><dt id="GUC-CONFIG-FILE"><span class="term"><code class="varname">config_file</code> (<code class="type">string</code>)
      <a id="id-1.6.7.5.3.2.1.3" class="indexterm"></a>
      </span></dt><dd><p>
         Specifies the main server configuration file
         (customarily called <code class="filename">postgresql.conf</code>).
         This parameter can only be set on the <code class="command">postgres</code> command line.
       </p></dd><dt id="GUC-HBA-FILE"><span class="term"><code class="varname">hba_file</code> (<code class="type">string</code>)
      <a id="id-1.6.7.5.3.3.1.3" class="indexterm"></a>
      </span></dt><dd><p>
         Specifies the configuration file for host-based authentication
         (customarily called <code class="filename">pg_hba.conf</code>).
         This parameter can only be set at server start.
       </p></dd><dt id="GUC-IDENT-FILE"><span class="term"><code class="varname">ident_file</code> (<code class="type">string</code>)
      <a id="id-1.6.7.5.3.4.1.3" class="indexterm"></a>
      </span></dt><dd><p>
         Specifies the configuration file for user name mapping
         (customarily called <code class="filename">pg_ident.conf</code>).
         This parameter can only be set at server start.
         See also <a class="xref" href="auth-username-maps.html" title="21.2. User Name Maps">Section 21.2</a>.
       </p></dd><dt id="GUC-EXTERNAL-PID-FILE"><span class="term"><code class="varname">external_pid_file</code> (<code class="type">string</code>)
      <a id="id-1.6.7.5.3.5.1.3" class="indexterm"></a>
      </span></dt><dd><p>
        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.
       </p></dd></dl></div><p>
      In a default installation, none of the above parameters are set
      explicitly.  Instead, the
      data directory is specified by the <code class="option">-D</code> command-line
      option or the <code class="envar">PGDATA</code> environment variable, and the
      configuration files are all found within the data directory.
     </p><p>
      If you wish to keep the configuration files elsewhere than the
      data directory, the <code class="command">postgres</code> <code class="option">-D</code>
      command-line option or <code class="envar">PGDATA</code> environment variable
      must point to the directory containing the configuration files,
      and the <code class="varname">data_directory</code> parameter must be set in
      <code class="filename">postgresql.conf</code> (or on the command line) to show
      where the data directory is actually located.  Notice that
      <code class="varname">data_directory</code> overrides <code class="option">-D</code> and
      <code class="envar">PGDATA</code> for the location
      of the data directory, but not for the location of the configuration
      files.
     </p><p>
      If you wish, you can specify the configuration file names and locations
      individually using the parameters <code class="varname">config_file</code>,
      <code class="varname">hba_file</code> and/or <code class="varname">ident_file</code>.
      <code class="varname">config_file</code> can only be specified on the
      <code class="command">postgres</code> command line, but the others can be
      set within the main configuration file.  If all three parameters plus
      <code class="varname">data_directory</code> are explicitly set, then it is not necessary
      to specify <code class="option">-D</code> or <code class="envar">PGDATA</code>.
     </p><p>
      When setting any of these parameters, a relative path will be interpreted
      with respect to the directory in which <code class="command">postgres</code>
      is started.
     </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="config-setting.html" title="20.1. Setting Parameters">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="runtime-config.html" title="Chapter 20. Server Configuration">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="runtime-config-connection.html" title="20.3. Connections and Authentication">Next</a></td></tr><tr><td width="40%" align="left" valign="top">20.1. Setting Parameters </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 15.4 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 20.3. Connections and Authentication</td></tr></table></div></body></html>