5.1. Setting Parameters

5.1.1. Parameter Names and Values

All parameter names are case-insensitive. Every parameter takes a value of one of five types: boolean, string, integer, floating point, or enumerated (enum). The type determines the syntax for setting the parameter:

5.1.2. Parameter Interaction via the Configuration File

The most fundamental way to set these parameters is to edit the file pgpool.conf, which is located in $prefix/etc/pgpool.conf, if it installed from source code. An example of what this file might look like is:

     # This is a comment
     listen_addresses = 'localhost'
     port = 9999
     serialize_accept = off
     reset_query_list = 'ABORT; DISCARD ALL'
    

One parameter is specified per line. The equal sign between name and value is optional. Whitespace is insignificant (except within a quoted parameter value) and blank lines are ignored. Hash marks (#) designate the remainder of the line as a comment. Parameter values that are not simple identifiers or numbers must be single-quoted. To embed a single quote in a parameter value, write either two quotes (preferred) or backslash-quote.

Parameters set in this way provide default values for the cluster. The settings seen by active sessions will be these values unless they are overridden. The following sections describe ways in which the administrator or user can override these defaults.

The configuration file is reread whenever the main server process receives a SIGHUP signal; this signal is most easily sent by running pgpool reload from the command line. The main pgpool process also propagates this signal to all its child processes, so that next sessions also adopt the new values. Some parameters can only be set at server start; any changes to their entries in the configuration file will be ignored until the server is restarted. Invalid parameter settings in the configuration file are likewise ignored (but logged) during SIGHUP processing.

5.1.3. Managing Configuration File Contents

Pgpool-II provides a feature for breaking down pgpool.conf files into sub-files. This feature is especially useful when managing multiple servers or dividing by features. include directive can be used like this:

     include = 'filename'
    

If the file name is not an absolute path, it is taken as relative to the directory containing the referencing configuration file. Inclusions can be nested.

5.1.4. Parameter Interaction via SQL Clients

Pgpool-II also provides two SQL style commands to interact with session-local configuration settings.