<!-- doc/src/sgml/config.sgml -->

<chapter id="runtime-config">
<!--
  <title>Server Configuration</title>
-->
  <title>サーバの設定</title>

  <indexterm>
<!--
    <primary>configuration</primary>
    <secondary>of the server</secondary>
-->
    <primary>設定</primary>
    <secondary>サーバの</secondary>
  </indexterm>

  <para>
<!--
    There are many configuration parameters that affect the behavior of
    <productname>Pgpool-II</productname>. In the first section of this chapter we
    describe how to interact with configuration parameters. The subsequent sections
    discuss each parameter in detail.
-->
<productname>Pgpool-II</productname>の動作に影響を与える数多くのパラメータがあります。
この章の最初の節で、どのように設定パラメータを操作するのかについて説明します。
引き続く節で、それぞれのパラメータの詳細を説明します。
  </para>

  <sect1 id="config-setting">
<!--
    <title>Setting Parameters</title>
-->
    <title>パラメータの設定</title>

    <sect2 id="config-setting-names-values">
<!--
      <title>Parameter Names and Values</title>
-->
      <title>パラメータ名とその値</title>

      <para>
<!--
	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:
-->
全てのパラメータの名前は大文字と小文字を区別しません。
それぞれのパラメータは、論理値、整数、浮動小数点、文字列、またはenum（列挙型）の5つの型のいずれかの値を取ります。
型はパラメータをセットするための記法を定義します。
      </para>

      <itemizedlist>
	<listitem>
	  <para>
<!--
	    <emphasis>Boolean:</emphasis>
-->
	    <emphasis>論理型:</emphasis>
<!--
	    Values can be written as
-->
値は以下のいずれかを取ることができます。
	    <literal>on</literal>,
	    <literal>off</literal>,
	    <literal>true</literal>,
	    <literal>false</literal>,
	    <literal>yes</literal>,
	    <literal>no</literal>,
	    <literal>1</literal>,
	    <literal>0</literal>
<!--
	    (all case-insensitive) or any unambiguous prefix of one of these.
-->
(すべて大文字小文字の区別なし) あるいは、曖昧でなければこれらの先頭から数文字を省略して使うこともできます。
	  </para>
	</listitem>

	<listitem>
	  <para>
<!--
	    <emphasis>String:</emphasis>
-->
	    <emphasis>文字列型:</emphasis>
<!--
	    In general, enclose the value in single quotes, doubling any single
	    quotes within the value.  Quotes can usually be omitted if the value
	    is a simple number or identifier, however.
-->
一般に、単一引用符の中に値を入れます。
単一引用符を値として使う場合は単一引用符を重ねます。
なお、値が単純な数字や識別子である場合は、通常引用符は省略できます。
	  </para>
	</listitem>

	<listitem>
	  <para>
<!--
	    <emphasis>Numeric (integer and floating point):</emphasis>
-->
	    <emphasis>数値型(整数型と浮動小数点型):</emphasis>
<!--
	    A decimal point is permitted only for floating-point parameters.
	    Do not use thousands separators.  Quotes are not required.
-->
小数点は浮動小数点型のパラメータでのみ使用できます。
1000の位取りは使わないでください。
引用符は必要ありません。
	  </para>
	</listitem>

  <listitem>
    <para>
<!--
      <emphasis>Enumerated:</emphasis>
-->
      <emphasis>列挙型:</emphasis>
<!--
      Enumerated-type parameters are written in the same way as string
      parameters, but are restricted to have one of a limited set of
      values. Enum parameter values are case-insensitive.
-->
列挙型のパラメータは文字列パラメータと同じように記述します。
ただ、使用できる文字列の種類が決まっているだけです。
列挙型の値は大文字小文字を区別しません。
    </para>
  </listitem>
</itemizedlist>
</sect2>

<sect2 id="config-setting-configuration-file">
<!--
  <title>Parameter Interaction via the Configuration File</title>
-->
  <title>設定ファイルによるパラメータ操作</title>

  <para>
<!--
    The most fundamental way to set these parameters is to edit the file
    <filename>pgpool.conf</><indexterm><primary>pgpool.conf</></>,
    which is located in <literal>$prefix/etc/pgpool.conf</literal>.
    An example of what this file might look like is:
-->
これらのパラメータを設定する最も基本的な方法は、<filename>pgpool.conf</><indexterm><primary>pgpool.conf</></>ファイルを編集することで、これは通常<literal>$prefix/ext/pgpool.conf</literal>に配置されています。
このファイルがどういったものかの例を示します。
    <programlisting>
  # This is a comment
  listen_addresses = 'localhost'
  port = 9999
  serialize_accept = off
  reset_query_list = 'ABORT; DISCARD ALL'
    </programlisting>

<!--
      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 (<literal>#</literal>) 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.
-->
1つの行毎に1つのパラメータが指定されます。
名前と値の間の等号はオプションです。
引用符の中の空白（white space）を除き、空白は特に意味を持たず、何もない行は無視されます。
ハッシュ記号（<literal>#</literal>）はその行の後の表記がコメントであることを意味します。
単純でない識別子、または数値でないパラメータ値は単一引用符で括られなければなりません。
パラメータ値の中に単一引用符を埋め込む場合、二重引用符（推奨）もしくはバックスラッシュ-引用符で括ります。

    </para>

    <para>
<!--
      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.
-->
この方法によりクラスタに対してデフォルト値が設定されます。
上書きされない限り、アクティブなセッションが見るのはこの値です。
次の節では、管理者やユーザがこれらのデフォルト値を上書きする方法を説明します。
    </para>

    <para>
      <indexterm>
        <primary>SIGHUP</primary>
      </indexterm>
<!--
      The configuration file is reread whenever the main server process
      receives a <systemitem>SIGHUP</> signal; this signal is most easily
      sent by running <literal>pgpool reload</> from the command line. The main
      pgpool process also propagates this signal to all its child
      processes, so that existing 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 <systemitem>SIGHUP</> processing.
-->
設定ファイルはメインサーバプロセスが<systemitem>SIGHUP</>信号を受け取ると何時でも 再読み込みされます。
手っ取り早く行なうには、コマンドラインから<literal>pgpool reload</>を実行します。
メインpgpoolプロセスは同時にこの信号を、現存のセッションが同様に新しい値を入手できるように、全ての子プロセスに伝播します
いくつかのパラメータはサーバの起動時のみ設定されます;
設定ファイル中のそれらのエントリのいかなる変更も、サーバが再起動されるまで無視されます。
設定ファイル内で無効なパラメータが設定された場合は同様に（ログには残りますが）<systemitem>SIGHUP</>処理中に無視されます。
    </para>
  </sect2>

<sect2 id="config-setting-sql-command-interaction">
<!--
  <title>Parameter Interaction via SQL Clients</title>
-->
  <title>SQLを通じたパラメータ操作</title>

  <para>
<!--
	  <productname>Pgpool-II</productname> also provides two SQL style
	  commands to interact with session-local configuration settings.
-->
<productname>Pgpool-II</productname>はまた2つのSQL形式のコマンドを使ってセッションローカルの設定変更を行うことができます。
  </para>

  <itemizedlist>
    <listitem>
      <para>
<!--
	    The <xref linkend="SQL-PGPOOL-SHOW"> command allows inspection of the
	    current value of all parameters.
-->
<xref linkend="SQL-PGPOOL-SHOW">コマンドを使ってすべてのパラメータの現在の値を調べることができます。
	    </para>
    </listitem>

    <listitem>
      <para>
<!--
	    The <xref linkend="SQL-PGPOOL-SET"> command allows modification of the
	    current value of those parameters that can be set locally to a
	    session; it has no effect on other sessions.
-->
<xref linkend="SQL-PGPOOL-SET">コマンドを使ってセッション内でローカルに変更できるパラメータの値を変更することができます。
他のセッションには影響を与えません。
      </para>
    </listitem>
  </itemizedlist>

  </sect2>
</sect1>

