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]