pgpool2.git / summary / log / commit / refs
commit 86c1d2c49f79d7a3b2695eef4141668efddb5b3a
Author: Tatsuo Ishii <ishii@postgresql.org>
Date: Fri Jun 01 05:28:29 2012 +0000
Add new parameter to failover/failback/followmaster command.
%r: new master port number
%R: new master database cluster path
doc/pgpool-en.html | 8 +++++++-
doc/pgpool-ja.html | 14 +++++++++-----
main.c | 23 ++++++++++++++++++++++-
pgpool.conf.sample | 6 ++++++
pgpool.conf.sample-master-slave | 7 +++++++
pgpool.conf.sample-replication | 6 ++++++
pgpool.conf.sample-stream | 6 ++++++
7 files changed, 63 insertions(+), 7 deletions(-)
diff --git a/doc/pgpool-en.html b/doc/pgpool-en.html
index 214a4818b..3ff573fc8 100644
--- a/doc/pgpool-en.html
+++ b/doc/pgpool-en.html
@@ -7,7 +7,7 @@
</head>
<!-- hhmts start -->
-Last modified: Wed May 23 18:04:56 JST 2012
+Last modified: Fri Jun 1 14:17:36 JST 2012
<!-- hhmts end -->
<body bgcolor="#ffffff">
@@ -764,6 +764,8 @@ local0.* /var/log/pgpool.log
<tr><td>%m</td><td>New master node ID.</td></tr>
<tr><td>%H</td><td>Hostname of the new master node.</td></tr>
<tr><td>%P</td><td>Old primary node ID.</td></tr>
+ <tr><td>%r</td><td>New master port number.</td></tr>
+ <tr><td>%R</td><td>New master database cluster directory.</td></tr>
<tr><td>%%</td><td>'%' character</td></tr>
</table>
@@ -798,6 +800,8 @@ local0.* /var/log/pgpool.log
<tr><td>%m</td><td>New master node</td></tr>
<tr><td>%H</td><td>Hostname of the new master node.</td></tr>
<tr><td>%P</td><td>Old primary node ID.</td></tr>
+ <tr><td>%r</td><td>New master port number.</td></tr>
+ <tr><td>%R</td><td>New master database cluster directory.</td></tr>
<tr><td>%%</td><td>'%' character</td></tr>
</table>
@@ -824,6 +828,8 @@ local0.* /var/log/pgpool.log
<tr><td>%m</td><td>New master node ID.</td></tr>
<tr><td>%H</td><td>Hostname of the new master node.</td></tr>
<tr><td>%P</td><td>Old primary node ID.</td></tr>
+ <tr><td>%r</td><td>New master port number.</td></tr>
+ <tr><td>%R</td><td>New master database cluster directory.</td></tr>
<tr><td>%%</td><td>'%' character</td></tr>
</table>
diff --git a/doc/pgpool-ja.html b/doc/pgpool-ja.html
index eb67c4a1f..34a8eb552 100644
--- a/doc/pgpool-ja.html
+++ b/doc/pgpool-ja.html
@@ -8,7 +8,7 @@
<body>
<!-- hhmts start -->
-Last modified: Wed May 23 17:58:25 JST 2012
+Last modified: Fri Jun 1 14:15:06 JST 2012
<!-- hhmts end -->
<body bgcolor="#ffffff">
@@ -879,11 +879,12 @@ local0.* /var/log/pgpool.log
<tr><td>%h</td><td>$B@Z$jN%$5$l$?%N!<%I$N%[%9%HL>(B</td></tr>
<tr><td>%H</td><td>$B?7$7$$%^%9%?!<$N%[%9%HL>(B</td></tr>
<tr><td>%p</td><td>$B@Z$jN%$5$l$?%N!<%I$N%]!<%HHV9f(B</td></tr>
- <tr><td>%D</td><td>$B@Z$jN%$5$l$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B
- </td></tr>
+ <tr><td>%D</td><td>$B@Z$jN%$5$l$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B</td></tr>
<tr><td>%M</td><td>$B8E$$%^%9%?!<$N%N!<%IHV9f(B</td></tr>
<tr><td>%m</td><td>$B?7$7$$%^%9%?!<$N%N!<%IHV9f(B</td></tr>
<tr><td>%P</td><td>$B8E$$%W%i%$%^%j%N!<%IHV9f(B</td></tr>
+ <tr><td>%r</td><td>$B?7$7$$%^%9%?!<$N%]!<%HHV9f(B</td></tr>
+ <tr><td>%R</td><td>$B?7$7$$%^%9%?!<$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B</td></tr>
<tr><td>%%</td><td>'%'$BJ8;z(B</td></tr>
</table>
</center>
@@ -911,12 +912,13 @@ local0.* /var/log/pgpool.log
<tr><td>%d</td><td>$BI|5"$7$?%N!<%IHV9f(B</td></tr>
<tr><td>%h</td><td>$BI|5"$7$?%N!<%I$N%[%9%HL>(B</td></tr>
<tr><td>%p</td><td>$BI|5"$7$?%N!<%I$N%]!<%HHV9f(B</td></tr>
- <tr><td>%D</td><td>$BI|5"$7$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B
- </td></tr>
+ <tr><td>%D</td><td>$BI|5"$7$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B</td></tr>
<tr><td>%M</td><td>$B8E$$%^%9%?!<$N%N!<%IHV9f(B</td></tr>
<tr><td>%m</td><td>$B?7$7$$%^%9%?!<$N%N!<%IHV9f(B</td></tr>
<tr><td>%H</td><td>$B?7$7$$%^%9%?!<$N%[%9%HL>(B</td></tr>
<tr><td>%P</td><td>$B8E$$%W%i%$%^%j%N!<%IHV9f(B</td></tr>
+ <tr><td>%r</td><td>$B?7$7$$%^%9%?!<$N%]!<%HHV9f(B</td></tr>
+ <tr><td>%R</td><td>$B?7$7$$%^%9%?!<$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B</td></tr>
<tr><td>%%</td><td>'%'$BJ8;z(B</td></tr>
</table>
</center>
@@ -945,6 +947,8 @@ local0.* /var/log/pgpool.log
<tr><td>%m</td><td>$B?7$7$$%^%9%?!<$N%N!<%IHV9f(B</td></tr>
<tr><td>%H</td><td>$B?7$7$$%^%9%?!<$N%[%9%HL>(B</td></tr>
<tr><td>%P</td><td>$B8E$$%W%i%$%^%j%N!<%IHV9f(B</td></tr>
+ <tr><td>%r</td><td>$B?7$7$$%^%9%?!<$N%]!<%HHV9f(B</td></tr>
+ <tr><td>%R</td><td>$B?7$7$$%^%9%?!<$N%G!<%?%Y!<%9%/%i%9%?%Q%9(B</td></tr>
<tr><td>%%</td><td>'%'$BJ8;z(B</td></tr>
</table>
</center>
diff --git a/main.c b/main.c
index 79cb19178..e69d67ce5 100644
--- a/main.c
+++ b/main.c
@@ -2447,7 +2447,7 @@ static int trigger_failover_command(int node, const char *command_line,
if (command_line == NULL || (strlen(command_line) == 0))
return 0;
- /* check nodeID */
+ /* check failed nodeID */
if (node < 0 || node > NUM_BACKENDS)
return -1;
@@ -2505,6 +2505,27 @@ static int trigger_failover_command(int node, const char *command_line,
string_append_char(exec_cmd, port_buf);
break;
+ case 'r': /* new master port */
+ newmaster = pool_get_node_info(get_next_master_node());
+ if (newmaster)
+ {
+ snprintf(port_buf, sizeof(port_buf), "%d", newmaster->backend_port);
+ string_append_char(exec_cmd, port_buf);
+ }
+ else
+ /* no vaid new master */
+ string_append_char(exec_cmd, "");
+ break;
+
+ case 'R': /* new master database directory */
+ newmaster = pool_get_node_info(get_next_master_node());
+ if (newmaster)
+ string_append_char(exec_cmd, newmaster->backend_data_directory);
+ else
+ /* no vaid new master */
+ string_append_char(exec_cmd, "");
+ break;
+
case 'M': /* old master node id */
snprintf(port_buf, sizeof(port_buf), "%d", old_master);
string_append_char(exec_cmd, port_buf);
diff --git a/pgpool.conf.sample b/pgpool.conf.sample
index 41613a5b7..2d342377d 100644
--- a/pgpool.conf.sample
+++ b/pgpool.conf.sample
@@ -302,6 +302,8 @@ follow_master_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
@@ -367,6 +369,8 @@ failover_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
failback_command = ''
# Executes this command at failback.
@@ -379,6 +383,8 @@ failback_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
fail_over_on_backend_error = on
diff --git a/pgpool.conf.sample-master-slave b/pgpool.conf.sample-master-slave
index b9c9a6197..a38297f5e 100644
--- a/pgpool.conf.sample-master-slave
+++ b/pgpool.conf.sample-master-slave
@@ -301,6 +301,8 @@ follow_master_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
@@ -362,6 +364,9 @@ failover_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
+
# %% = '%' character
failback_command = ''
# Executes this command at failback.
@@ -374,6 +379,8 @@ failback_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
fail_over_on_backend_error = on
diff --git a/pgpool.conf.sample-replication b/pgpool.conf.sample-replication
index dae7ec248..fd6979b63 100644
--- a/pgpool.conf.sample-replication
+++ b/pgpool.conf.sample-replication
@@ -301,6 +301,8 @@ follow_master_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
@@ -362,6 +364,8 @@ failover_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
failback_command = ''
# Executes this command at failback.
@@ -374,6 +378,8 @@ failback_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
fail_over_on_backend_error = on
diff --git a/pgpool.conf.sample-stream b/pgpool.conf.sample-stream
index 46c1eadd3..cdcb8947f 100644
--- a/pgpool.conf.sample-stream
+++ b/pgpool.conf.sample-stream
@@ -301,6 +301,8 @@ follow_master_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
@@ -362,6 +364,8 @@ failover_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
failback_command = ''
# Executes this command at failback.
@@ -374,6 +378,8 @@ failback_command = ''
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
+ # %r = new master port number
+ # %R = new master database cluster path
# %% = '%' character
fail_over_on_backend_error = on
[parent: 444dd137b572]