- Support to reload config files on pgpoolAdmin.
authorYoshiyuki Asaba <y-asaba at pgfoundry.org>
Mon, 19 Nov 2007 05:14:44 +0000 (05:14 +0000)
committerYoshiyuki Asaba <y-asaba at pgfoundry.org>
Mon, 19 Nov 2007 05:14:44 +0000 (05:14 +0000)
- Fix adding new backend_data_direcotory parameter.

command.php
lang/en.lang.php
lang/ja.lang.php
status.php
templates/pgconfig.tpl
templates/status.tpl

index d1e7aeaaa8c118f202113c7624f108b544b32d11..3a764dc96fec524eb16e045aa7707c87033567e5 100644 (file)
@@ -104,6 +104,20 @@ function execPcp($command, $num='') {
             }
             break;
 
+        case 'PCP_RELOAD_PGPOOL':
+            $cmdOption = $num;
+            $cmdOption = $cmdOption . ' -f ' . _PGPOOL2_CONFIG_FILE
+                                                    . ' -F ' . _PGPOOL2_PASSWORD_FILE . ' reload';
+            $cmd = _PGPOOL2_COMMAND . $cmdOption . ' 2>&1 &';
+            $ret = exec($cmd, $output, $return_var);
+            if($return_var == 0) {
+                return array($pcpStatus[$return_var] => $output);
+            } else {
+                return array('FAIL' => $output);
+            }
+            break;
+
+
         case 'PCP_STOP_PGPOOL':
             $cmd = _PGPOOL2_PCP_DIR . '/pcp_stop_pgpool' . $args;
             $ret = exec($cmd, $output, $return_var);
index 427a92a2be33ea919ac62cb8f3945e1b6925fdac..09744d117c9abc90ec22f041436cde98df11cd06 100644 (file)
@@ -93,6 +93,7 @@ $message = array(
     'msgMasterDbConnectionError' => 'Master DB connection failed',
     'msgPgpoolConfNotFound' => 'pgpool.conf not found',
     'msgPleaseSetup' => 'No found configuration file. Please execute the setup.',
+    'msgReloadPgpool' => 'Do you really want to reload configuration files?',
     'msgRestart' => 'Please restart to reflect the change',
     'msgRestartPgpool' => 'Do you really want to restart pgpool?',
     'msgSameAsPasswordFile' => 'The value is the same as item Password File',
@@ -190,6 +191,7 @@ $message = array(
     'strProtocolNinorVersion' => 'Protocol Minor Version',
     'strQueryCache' => 'Query Cache',
     'strQueryStr' => 'Query',
+    'strReload' => 'Reload',
     'strReplicationMode' => 'Replication Mode',
     'strReset' => 'Reset',
     'strRestart' => 'Restart',
index 480a21e354e6ddb365fe91508fd68a6bcd392729..fe8a5bf1f11ecf00ac2781abb6103d50da9e7a11 100644 (file)
@@ -93,8 +93,9 @@ $message = array(
     'msgMasterDbConnectionError' => 'マスターDBに接続できません',
     'msgPgpoolConfNotFound' => 'pgpool.confが見つかりません',
     'msgPleaseSetup' => '設定ファイルが見つかりません。セットアップを実行してください。',
+       'msgReloadPgpool' => '設定ファイルを再読み込みしてもよろしいですか?',
     'msgRestart' => '変更を反映するには再起動してください',
-    'msgRestartPgpool' => 'pgpoolを再起動してよいですか?',
+    'msgRestartPgpool' => 'pgpoolã\82\92å\86\8dèµ·å\8b\95ã\81\97ã\81¦ã\82\88ã\82\8dã\81\97ã\81\84ã\81§ã\81\99ã\81\8bï¼\9f',
     'msgSameAsPasswordFile' => '値はパスワードファイルの設定値となります',
     'msgSameAsPgpoolFile' => '値はpgpool.confファイルの設定値となります',
     'msgStopPgpool' => 'pgpoolを停止してよいですか?',
@@ -190,6 +191,7 @@ $message = array(
     'strProtocolNinorVersion' => 'プロトコルマイナーバージョン',
     'strQueryCache' => 'クエリキャッシュ',
     'strQueryStr' => 'クエリ文字列',
+    'strReloadPgpool' => '設定リロード',
     'strReplicationMode' => 'レプリケーションモード',
     'strReset' => 'リセット',
     'strRestart' => '再起動',
index 4cb971b8885d4d8351cca000007ac079db2e6f6c..4e021111c58994d13a56199490f28759a2db327a 100644 (file)
@@ -191,6 +191,34 @@ switch ($action) {
         }
         break;
 
+    case 'reload':
+        $m = $_POST['m'];
+
+        
+        /**
+         * Start Pgpool
+         */
+        $args = ' ';
+
+        if(isset($_POST['c'])) {
+            $args = $args . "-c ";
+        }
+        if(isset($_POST['d'])) {
+            $args = $args . "-d ";
+        }
+        if(isset($_POST['n'])) {
+            $pgpoolLog = _PGPOOL2_LOG_FILE;
+            if($pgpoolLog == '') {
+                $logDir = readLogDir();
+                $pgpoolLog = "$logDir/pgpool.log";
+            }
+
+            $args = "$args -n > $pgpoolLog ";
+        }
+        $ret = execPcp('PCP_RELOAD_PGPOOL', $args);
+        break;
+
+
     case 'return':
         $ret = execPcp('PCP_ATTACH_NODE', $nodeNumber);
         if(!array_key_exists('SUCCESS', $ret)) {
index 76f036f7fbc0c14bad66962654389c1d08bcd097..336aa3c75705fa5765f9e23ee18be97ff205bf73 100644 (file)
@@ -295,6 +295,11 @@ function cancelNode() {
           (float)</th>
         <td><input type="text" name="backend_weight[]" value="" /></td>
       </tr>
+      <tr>
+        <th><label>new backend_data_directory</label>
+          (float)</th>
+        <td><input type="text" name="backend_data_directory[]" value="" /></td>
+      </tr>
       {/if}
       </tbody>      
     </table>
index d089a6ed6739bb7c0b02725b9acf6dc7936f68e7..6e100acac1639a523fe9721360c77f3e47ccdc81 100644 (file)
@@ -15,6 +15,7 @@ var refreshTime = "{$refreshTime|escape}";
 var view = "{$viewPHP|escape}";
 var msgStopPgpool = "{$message.msgStopPgpool|escape}";
 var msgRestartPgpool = "{$message.msgRestartPgpool|escape}";
+var msgRestartPgpool = "{$message.msgReloadPgpool|escape}";
 
 {literal}
 function load() {
@@ -135,6 +136,13 @@ function execRestartPgpool() {
    }
 }
 
+function execReloadPgpool() {
+   if(window.confirm(msgReloadPgpool)){ 
+    document.Command.action.value= "reload";
+    document.Command.submit();
+   }
+}
+
 function execStopPgpool() {
    if(window.confirm(msgStopPgpool)){ 
     document.Command.action.value= "stop";
@@ -226,6 +234,7 @@ function changeView(chView){
     <div id="cmdBtn" style="visibility: visible">
     <input type="button" name="command" onclick="stopPgpool()" value="{$message.strStopPgpool|escape}" />
     <input type="button" name="command" onclick="restartPgpool()" value="{$message.strRestartPgpool|escape}" />
+    <input type="button" name="command" onclick="execReloadPgpool()" value="{$message.strReloadPgpool|escape}" />
     </div>
     <div id="stopOption" style="visibility: hidden; position: absolute">
     <table>