<div dir="ltr">Great!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 13, 2014 at 12:23 PM, Yugo Nagata <span dir="ltr">&lt;<a href="mailto:nagata@sraoss.co.jp" target="_blank">nagata@sraoss.co.jp</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 13 Feb 2014 11:59:20 -0200<br>
Gonzalo Gil &lt;<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>&gt; wrote:<br>
<br>
&gt; YES! it works!<br>
<br>
I&#39;m glad to hear that.<br>
<div class=""><br>
&gt;<br>
&gt; i will install heartbear.... but i&#39;m testing instalation and i take the<br>
&gt; easy way...<br>
&gt; i let you know when i got it running<br>
<br>
</div>You don&#39;t need to install heartbeat (Pacemaker). Watchdog&#39;s heartbeat mode is<br>
pgpool-II&#39;s built-in functionality. For the most simple configuration, what<br>
you need to do is:<br>
<br>
wd_lifecheck_method = &#39;heartbeat&#39;<br>
<div class=""><br>
wd_heartbeat_port = 9694<br>
wd_heartbeat_keepalive = 2<br>
wd_heartbeat_deadtime = 30<br>
<br>
</div>heartbeat_destination0 = &#39;tad2&#39;       &lt;= &#39;tad1&#39; in tad2 server<br>
heartbeat_destination_port0 = 9694<br>
heartbeat_device0 = &#39;&#39;<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt;<br>
&gt; tks a lot!!<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Feb 13, 2014 at 8:47 AM, Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Hi,<br>
&gt; &gt;<br>
&gt; &gt; On Wed, 12 Feb 2014 12:05:56 -0200<br>
&gt; &gt; Gonzalo Gil &lt;<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt; i think it does not work...<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m sorry for jumping to a wring conclusion. load_balance_mode is<br>
&gt; &gt; irrelevant.<br>
&gt; &gt; The problem is that, pgpool-II considers myself as down before failover is<br>
&gt; &gt; done completely. Before failover completed, pgpool-II&#39;s child process<br>
&gt; &gt; doesn&#39;t<br>
&gt; &gt; know the backend server is down, hence lifecheck query &#39;SELECT 1&#39; fails,<br>
&gt; &gt; and<br>
&gt; &gt; pgpool-II consider itself in down status.<br>
&gt; &gt;<br>
&gt; &gt; To avoid this, health check should be done more frequently, or, lifecheck<br>
&gt; &gt; interval should be larger. In your configuration, health_check_max_retries<br>
&gt; &gt; = 3<br>
&gt; &gt; and helth_check_retry_delay = 10. So, it takes more than 30 seconds to<br>
&gt; &gt; detect<br>
&gt; &gt; backend DB&#39;s down and start failover. However, wd_interval = 5 and<br>
&gt; &gt; wd_life_point = 3.<br>
&gt; &gt; So, it is about 15 to 20 seconds before pgpool-II decide to go to down<br>
&gt; &gt; status.<br>
&gt; &gt;<br>
&gt; &gt; Could you please try edit pgpool.conf? For example:<br>
&gt; &gt;<br>
&gt; &gt; health_check_max_retries = 2<br>
&gt; &gt; health_check_retry_delay = 5<br>
&gt; &gt; wd_interval = 10<br>
&gt; &gt; wd_life_point = 3;<br>
&gt; &gt;<br>
&gt; &gt; In fact, I recommend to use heartbeat mode instead of query mode. This mode<br>
&gt; &gt; doesn&#39;t issue query like &#39;SELECT 1&#39; for checking pgpool status. So, this<br>
&gt; &gt; avoids<br>
&gt; &gt; the kind of problem.<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; <a href="http://172.16.62.141/status.php" target="_blank">http://172.16.62.141/status.php</a><br>
&gt; &gt; &gt;          IP Address         Port         Status         Weight<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; node 0         tad1         5432         Up. Connected. Running as<br>
&gt; &gt; primary<br>
&gt; &gt; &gt; server         postgres: Up         0.500                 |<br>
&gt; &gt; &gt; node 1         tad2         5432         Up. Connected. Running as<br>
&gt; &gt; standby<br>
&gt; &gt; &gt; server         postgres: Up         0.500                 |<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; <a href="http://172.16.62.142/status.php" target="_blank">http://172.16.62.142/status.php</a><br>
&gt; &gt; &gt;          IP Address         Port         Status         Weight<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; node 0         tad1         5432         Up. Connected. Running as<br>
&gt; &gt; primary<br>
&gt; &gt; &gt; server         postgres: Up         0.500                 |<br>
&gt; &gt; &gt; node 1         tad2         5432         Up. Connected. Running as<br>
&gt; &gt; standby<br>
&gt; &gt; &gt; server         postgres: Up         0.500                 |<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; shutdown  141, node0, tad1...<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; i attach logs....<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; this was the final result....<br>
&gt; &gt; &gt; ---&gt;<br>
&gt; &gt; &gt;          IP Address         Port         Status         Weight<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; node 0         tad1         5432         Down         postgres: Down<br>
&gt; &gt; &gt;         0.500                 |<br>
&gt; &gt; &gt; node 1         tad2         5432         Up. Connected. Running as<br>
&gt; &gt; standby<br>
&gt; &gt; &gt; server         postgres: Up         0.500                 |<br>
&gt; &gt; &gt; &lt;---<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Wed, Feb 12, 2014 at 4:11 AM, Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Thanks for sending confs &amp; logs.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I found that this problem occurs when load_balance_mode = off.<br>
&gt; &gt; &gt; &gt; Could you please try with load_balance_mode = on?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I&#39;ll continue to analyze the detailed reason.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Mon, 10 Feb 2014 11:40:41 -0200<br>
&gt; &gt; &gt; &gt; Gonzalo Gil &lt;<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; i send the message but it was too long.<br>
&gt; &gt; &gt; &gt; &gt; i&#39;ll attach the files....<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; it happens again, even when node 2 was the postgres standby node.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; after i put the logs here, i shutdown node 1 (it has the primary<br>
&gt; &gt; &gt; &gt; database)<br>
&gt; &gt; &gt; &gt; &gt; and it happens the same thing. node 2 lost ip and no failover<br>
&gt; &gt; happens.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; TKS!<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Mon, Feb 10, 2014 at 5:23 AM, Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
&gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; This is odd that pgpool-1 losts VIP when server2 goes down. For<br>
&gt; &gt; &gt; &gt; analysis,<br>
&gt; &gt; &gt; &gt; &gt; &gt; could you please send pgpool.conf and log output (of both pgpool1<br>
&gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; pgpool2)?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On Tue, 4 Feb 2014 13:38:16 -0200<br>
&gt; &gt; &gt; &gt; &gt; &gt; Gonzalo Gil &lt;<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Hello Tatsuo Ishii. I send some query mails to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; pgpool-general@pgpool.netbut i don&#39;t get my own messagese. But<br>
&gt; &gt; i do<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; recieve other mails from the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; forum.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Can you answer me some questions or forward them to the forum!?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I&#39;m runing pgpool with streaming replication: pgpool1 - db<br>
&gt; &gt; postgres1<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; (server 1) and pgpool2 - db postgres 2 (server 2).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I&#39;m using watchdog with a virtual ip and life_check_query.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; It&#39;s all configured and working .... more or less....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; INIT: I start my system: postgres1 is standby database and<br>
&gt; &gt; postgres2<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; is master (streaming replication).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; pgpool1 has the virtual ip.(and pgpool2 no, obviously)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i connect to database via pgpool and everithing is ok.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i stop postgres1 and nothing happens because i check new_master<br>
&gt; &gt; &lt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; old_master (no master failure).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i start postgres1 again (and returning it with pgpoolAdmin) or<br>
&gt; &gt; call a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; recovery and it works great.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I stop postgres2 and failover fires ... and i get postgres1 as<br>
&gt; &gt; the<br>
&gt; &gt; &gt; &gt; new<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; primary.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; and so on...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; this works fine.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i go back to INIT again....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; and i do in server2<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; reboot -h now<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i see in the server1 (pgpool1) log that pgpool2 is down...ok<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; watching the log, i see pgpool1 lost the virtual ip address<br>
&gt; &gt; &gt; &gt; (!?)....and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; tell me to restart pgpool....(!?)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i restart it and i see that failover fires ... but in the<br>
&gt; &gt; failover<br>
&gt; &gt; &gt; &gt; &gt; &gt; script i<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; get new_master_node = old_master_node ...and thus i do not make<br>
&gt; &gt; &gt; &gt; touch and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; postgres1 keeps as a standby...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I change failover.sh (and the command in the pgpool.conf). i<br>
&gt; &gt; include<br>
&gt; &gt; &gt; &gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; parameters to see it&#39;s values when failover.sh start....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Then, i restart serve2 and &quot;return&quot; database to pgpool....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; again, pgpool1 has the virtual ip.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i stop database in node 2 and failover fires.... but pgpool2 does<br>
&gt; &gt; &gt; &gt; &gt; &gt; it....and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; pgpool1 too (!?)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i check network activity and saw that pgpool2 connects to<br>
&gt; &gt; server1 and<br>
&gt; &gt; &gt; &gt; &gt; &gt; make<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; the touch and i did see log from pgpool1 firing the failover<br>
&gt; &gt; command<br>
&gt; &gt; &gt; &gt; &gt; &gt; too....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Cuestions....<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 1. why pgpool1 lost virtual ip and ask me to restart!?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 2. why pgpool2 fires failover? i thought just the &quot;primary&quot;<br>
&gt; &gt; pgpool<br>
&gt; &gt; &gt; &gt; (the<br>
&gt; &gt; &gt; &gt; &gt; &gt; one<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; with the virtual ip) fires it.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; i hope you understand mr.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; tks a lot for your time..<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; sorry for my english.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; &gt; Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
&gt; &gt;<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
</font></span></blockquote></div><br></div>