Feature: Allow logging_collector related parameters to be changed by reloading the...
authorBo Peng <pengbo@sraoss.co.jp>
Mon, 16 Dec 2024 08:03:55 +0000 (17:03 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Mon, 16 Dec 2024 08:03:55 +0000 (17:03 +0900)
The following logging_collector related parameters can now be changed by reloading:

- log_truncate_on_rotation
- log_directory
- log_filename
- log_rotation_age
- log_rotation_size
- log_file_mode

doc.ja/src/sgml/connection-pooling.sgml
doc/src/sgml/connection-pooling.sgml
src/config/pool_config_variables.c
src/main/pgpool_main.c

index 66980ce8db64a14c68393e4e5227163800138b9c..3335e85aec9bd55b2e3390986a7980305ae8d5d4 100644 (file)
@@ -714,10 +714,10 @@ local0.*    /var/log/pgpool.log
       デフォルトは<literal>/tmp/pgpool_logs</literal>です。
       </para>
      <para>
-<!--
-        This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
 
     </listitem>
@@ -760,10 +760,10 @@ local0.*    /var/log/pgpool.log
       デフォルトは<literal>pgpool-%Y-%m-%d_%H%M%S.log</literal>です。
      </para>
      <para>
-<!--
-        This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
 
     </listitem>
@@ -799,10 +799,10 @@ local0.*    /var/log/pgpool.log
      </note>
 
      <para>
-<!--
-        This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
     </listitem>
    </varlistentry>
@@ -834,10 +834,10 @@ local0.*    /var/log/pgpool.log
       ゼロに設定することで、寿命に基づいた新しいログファイルの生成は無効になります。
      </para>
      <para>
-<!--
-      This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
     </listitem>
    </varlistentry>
@@ -868,10 +868,10 @@ local0.*    /var/log/pgpool.log
       ゼロに設定することで、サイズに基づいた新しいログファイルの生成は無効になります。
      </para>
      <para>
-<!--
-      This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
     </listitem>
    </varlistentry>
@@ -904,10 +904,10 @@ local0.*    /var/log/pgpool.log
        例えば、この設定を<literal>pgpool-%H.log</literal>のような<xref linkend="guc-log-filename">と組み合わせて使用すると、24個の時別のログファイルが生成され、それらは周期的に上書きされることになります。
      </para>
      <para>
-<!--
-      This parameter can only be set at the Pgpool-II start.
--->
-      このパラメータは<productname>Pgpool-II</productname>起動時のみ設定可能です。
+      <!--
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+      -->
+      このパラメータは<productname>Pgpool-II</>の設定を再読み込みすることで変更可能です。
      </para>
     </listitem>
    </varlistentry>
index aff34b94b8f662f3541d6c1af6b2f5c2b0a56b0c..daa84c3f73e4a8ec71fc636218829c3c960d1aae 100644 (file)
         the directory in which log files will be created.
      </para>
         <para>The default is <literal>/tmp/pgpool_logs</literal>.</para>
-        <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
 
     </listitem>
    </varlistentry>
         <para>
         The default is <literal>pgpool-%Y-%m-%d_%H%M%S.log</literal>.
         </para>
-        <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
     </listitem>
    </varlistentry>
 
         </para>
         </note>
 
-       <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
     </listitem>
    </varlistentry>
 
         <para>
         Set to zero to disable time-based creation of new log files.
      </para>
-        <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
     </listitem>
    </varlistentry>
 
         <para>
         Set to zero to disable size-based creation of new log files.
      </para>
-        <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
     </listitem>
    </varlistentry>
 
         like pgpool-%H.log would result in generating twenty-four hourly log
         files and then cyclically overwriting them.
      </para>
-        <para>
-        This parameter can only be set at the Pgpool-II start.
-        </para>
+     <para>
+      This parameter can be changed by reloading the <productname>Pgpool-II</> configurations.
+     </para>
     </listitem>
    </varlistentry>
 
index 34e6430e661689f99e041f0ab910b10f97c9027c..4fa0396642127a10c647af9aee95c7383d217a89 100644 (file)
@@ -799,7 +799,7 @@ static struct config_bool ConfigureNamesBool[] =
                NULL, NULL, NULL
        },
        {
-               {"log_truncate_on_rotation", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_truncate_on_rotation", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "If on, an existing log file gets truncated on time based log rotation.",
                        CONFIG_VAR_TYPE_BOOL, false, 0
                },
@@ -1348,7 +1348,7 @@ static struct config_string ConfigureNamesString[] =
                NULL, NULL, NULL, NULL
        },
        {
-               {"log_directory", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_directory", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "directory where log files are written.",
                        CONFIG_VAR_TYPE_STRING, false, 0
                },
@@ -1358,7 +1358,7 @@ static struct config_string ConfigureNamesString[] =
        },
 
        {
-               {"log_filename", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_filename", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "log file name pattern.",
                        CONFIG_VAR_TYPE_STRING, false, 0
                },
@@ -2270,7 +2270,7 @@ static struct config_int ConfigureNamesInt[] =
                NULL, NULL, NULL
        },
        {
-               {"log_rotation_age", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_rotation_age", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "Automatic rotation of logfiles will happen after that (minutes) time.",
                        CONFIG_VAR_TYPE_INT, false, GUC_UNIT_MIN
                },
@@ -2280,7 +2280,7 @@ static struct config_int ConfigureNamesInt[] =
                NULL, NULL, NULL
        },
        {
-               {"log_rotation_size", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_rotation_size", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "Automatic rotation of logfiles will happen after that much (kilobytes) log output.",
                        CONFIG_VAR_TYPE_INT, false, GUC_UNIT_KB
                },
@@ -2290,7 +2290,7 @@ static struct config_int ConfigureNamesInt[] =
                NULL, NULL, NULL
        },
        {
-               {"log_file_mode", CFGCXT_INIT, LOGGING_CONFIG,
+               {"log_file_mode", CFGCXT_RELOAD, LOGGING_CONFIG,
                        "creation mode for log files.",
                        CONFIG_VAR_TYPE_INT, false, 0
                },
index 1fbc2ccd9896d3df97ebd605d7020a6e029890d6..d74cf12b2d2cc1e33a8cb6a77f27789461699ddf 100644 (file)
@@ -2225,6 +2225,10 @@ kill_all_children(int sig)
                /* make watchdog process reload as well */
                if (watchdog_pid > 0)
                        kill(watchdog_pid, sig);
+
+               /* make logger process reload as well */
+               if (pgpool_logger_pid > 0)
+                       kill(pgpool_logger_pid, sig);
        }
 }