<div dir="ltr">Ok, i use -D and it works fine!<div><br></div><div>Now, i have: master pgpool, slave pgpool and a <b>virtualip </b>they share.</div><div><br></div><div><b>pgpool_hba.conf</b> (on bouth servers)</div><div><br>
</div><div><i>host all all MYIP trust</i></div>
<div><div>host postgres, template1 postgres ipmaster trust</div><div>host postgres, template1 postgres ipslave trust</div></div><div><br></div><div><b>pool_password</b></div>
<div>postgres:xxxxxxxxxxxxxx</div><div><br></div><div>from host <b>MYIP</b> a do;</div><div>psql -p 5434 -h <b>virtualip </b>-U postgres</div><div><br></div><div>when i look at pg_stat_activity i see my connection from <b>masterip</b></div>
<div><br>
</div><div>and it works fine. i'm not asked for password.</div><div><br></div><div><b>I change (remove myip trust);</b></div><div><div><b>pgpool_hba.conf</b> (on bouth servers);</div><div><br></div><div><div>host postgres, template1 postgres ipmaster trust</div>
<div>host postgres, template1 postgres ipslave trust</div></div></div><div><br></div><div><br></div><div><div>from host <b>MYIP</b> a do;</div><div>psql -p 5434 -h virtualip -U postgres</div>
</div><div><br></div>
<div>and i'm not allowed to login</div><div><br></div><div>finally i change (md5 for myip):</div><div><b>pgpool_hba.conf</b> (on bouth servers)<br></div><div><div><br></div><div><i>host all all MYIP </i><b>md5</b></div>
<div><div>host postgres, template1 postgres ipmaster trust</div><div>host postgres, template1 postgres ipslave trust</div></div></div><div><br></div><div>
<br></div><div><br></div><div><div>from host <b>MYIP</b> a do;</div><div>psql -p 5434 -h virtualip -U postgres</div></div><div><br></div><div>and i can log in without been asked for password</div><div><br></div><div>if i use:</div>
<div><br></div><div>psql -p 5434 -h virtualip -U postgres -W<br>
</div><div><br></div><div>and i don't write any password, i still can connect!(?)</div><div><br></div><div>what i'm doing wrong!?</div><div><br></div><div><br></div><div>Tks!<br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Mar 11, 2014 at 11:58 PM, Yugo Nagata <span dir="ltr"><<a href="mailto:nagata@sraoss.co.jp" target="_blank">nagata@sraoss.co.jp</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">On Tue, 11 Mar 2014 12:02:26 -0300<br>
Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
<br>
> it's done now.<br>
><br>
> My problem now is that i am in a prod ambient... so i can play very much...<br>
><br>
> i have:<br>
> node1, primary pgpool (with virtual ip) and primary database<br>
> node2, standby node (database and pgpool)<br>
><br>
> i add a node (2nd standby in standby server) /datastb in pgpool.conf (bouth<br>
> nodes)<br>
><br>
> from node1:<br>
> # pcp_node_info 10 localhost 9898 postgres postgres 0<br>
</div>> prod 5432 *3* 1.000000<br>
<div class="">> # pcp_node_info 10 localhost 9898 postgres postgres 1<br>
</div>> replica 5432 *1* 0.000000<br>
<div class="">> # pcp_node_info 10 localhost 9898 postgres postgres 2<br>
> replica 5444 3 0.000000<br>
><br>
> why node 0 (local) is donw!?<br>
<br>
</div>pgpool reads a file containing backend status at startup. pgpool at node #0<br>
might read an old status file. To avoid this, start pgpool with -D option<br>
and pgpool will discards the old status file.<br>
<br>
>From the above situation, you can attach node #0's backend by using<br>
pcp_attach_node command. However, it should be confirmed that PostgreSQL<br>
#0 is primary and #1 is standby actually.<br>
<div class=""><br>
><br>
> it is not. i can connect directly (psql) or via pgpool (psql -h virtual_ip)<br>
><br>
> I can't recovery the node either.<br>
><br>
> # pcp_recovery_node 10 localhost 9898 postgres postgres 2<br>
> BackendError<br>
<br>
</div>I think the reason is that pgpool regards backend #0 as down<br>
as shown by pcp_node_info. Some clues of teh failure would<br>
left in backend's log (#0 or #1), since recovery command is<br>
executed in backend server by postgres.<br>
<div class=""><br>
><br>
><br>
> in pgpool.log:<br>
><br>
> Mar 11 11:39:30 postgresql pgpool[14723]: starting recovering node 2<br>
> Mar 11 11:39:30 postgresql pgpool[14723]: starting recovery command:<br>
> "SELECT pgpool_recovery('basebackup.sh', 'replica',<br>
> '/var/lib/pgsql/9.0/datastb')"<br>
> Mar 11 11:39:30 postgresql pgpool[14723]: exec_recovery: basebackup.sh<br>
> command failed at 1st stage<br>
><br>
><br>
> in the standby node,<br>
><br>
> # pcp_node_info 10 localhost 9898 postgres postgres 0<br>
</div>> prod 5432 *1* 1.000000<br>
<div class="">> # pcp_node_info 10 localhost 9898 postgres postgres 1<br>
</div>> replica 5432* 1* 0.000000<br>
<div class="HOEnZb"><div class="h5">> # pcp_node_info 10 localhost 9898 postgres postgres 2<br>
> replica 5444 3 0.000000<br>
><br>
> # pcp_recovery_node 10 localhost 9898 postgres postgres 2<br>
><br>
> and the recovery starts ....<br>
> but... database is quite big, so i see<br>
> new structure in standby server /datastb and subdirectories<br>
> rsync command in master node...<br>
><br>
> any clue why pcp commands are not working in mster node!!?<br>
><br>
><br>
><br>
> tks!<br>
><br>
><br>
><br>
><br>
> On Wed, Feb 19, 2014 at 7:50 AM, Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>> wrote:<br>
><br>
> > On Fri, 14 Feb 2014 18:39:10 -0200<br>
> > Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
> ><br>
> > > I changed it and works fine.<br>
> > > just one more thing.<br>
> > > when one node gets down (pgpool process, not database), it takes one<br>
> > minute<br>
> > > and a half to the other to make itself primary...<br>
> > > i change some parameters but it still takes 1,5 minutes to set maste<br>
> > pgpool<br>
> > > node<br>
> ><br>
> > It is possible depending on parameter configuration, but I can't identify<br>
> > the cause.<br>
> > Could you please send your pgpool.conf and logs?<br>
> ><br>
> > ><br>
> > ><br>
> > > is it possible?<br>
> > > how so?<br>
> > ><br>
> > > tanks again<br>
> > ><br>
> > ><br>
> > > On Thu, Feb 13, 2014 at 11:26 AM, Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>><br>
> > wrote:<br>
> > ><br>
> > > > Great!<br>
> > > ><br>
> > > ><br>
> > > > On Thu, Feb 13, 2014 at 12:23 PM, Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > wrote:<br>
> > > ><br>
> > > >> On Thu, 13 Feb 2014 11:59:20 -0200<br>
> > > >> Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
> > > >><br>
> > > >> > YES! it works!<br>
> > > >><br>
> > > >> I'm glad to hear that.<br>
> > > >><br>
> > > >> ><br>
> > > >> > i will install heartbear.... but i'm testing instalation and i take<br>
> > the<br>
> > > >> > easy way...<br>
> > > >> > i let you know when i got it running<br>
> > > >><br>
> > > >> You don't need to install heartbeat (Pacemaker). Watchdog's heartbeat<br>
> > > >> mode is<br>
> > > >> pgpool-II's built-in functionality. For the most simple configuration,<br>
> > > >> what<br>
> > > >> you need to do is:<br>
> > > >><br>
> > > >> wd_lifecheck_method = 'heartbeat'<br>
> > > >><br>
> > > >> wd_heartbeat_port = 9694<br>
> > > >> wd_heartbeat_keepalive = 2<br>
> > > >> wd_heartbeat_deadtime = 30<br>
> > > >><br>
> > > >> heartbeat_destination0 = 'tad2' <= 'tad1' in tad2 server<br>
> > > >> heartbeat_destination_port0 = 9694<br>
> > > >> heartbeat_device0 = ''<br>
> > > >><br>
> > > >><br>
> > > >> ><br>
> > > >> > tks a lot!!<br>
> > > >> ><br>
> > > >> ><br>
> > > >> > On Thu, Feb 13, 2014 at 8:47 AM, Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> wrote:<br>
> > > >> ><br>
> > > >> > > Hi,<br>
> > > >> > ><br>
> > > >> > > On Wed, 12 Feb 2014 12:05:56 -0200<br>
> > > >> > > Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
> > > >> > ><br>
> > > >> > > > i think it does not work...<br>
> > > >> > ><br>
> > > >> > > I'm sorry for jumping to a wring conclusion. load_balance_mode is<br>
> > > >> > > irrelevant.<br>
> > > >> > > The problem is that, pgpool-II considers myself as down before<br>
> > > >> failover is<br>
> > > >> > > done completely. Before failover completed, pgpool-II's child<br>
> > process<br>
> > > >> > > doesn't<br>
> > > >> > > know the backend server is down, hence lifecheck query 'SELECT 1'<br>
> > > >> fails,<br>
> > > >> > > and<br>
> > > >> > > pgpool-II consider itself in down status.<br>
> > > >> > ><br>
> > > >> > > To avoid this, health check should be done more frequently, or,<br>
> > > >> lifecheck<br>
> > > >> > > interval should be larger. In your configuration,<br>
> > > >> health_check_max_retries<br>
> > > >> > > = 3<br>
> > > >> > > and helth_check_retry_delay = 10. So, it takes more than 30<br>
> > seconds to<br>
> > > >> > > detect<br>
> > > >> > > backend DB's down and start failover. However, wd_interval = 5 and<br>
> > > >> > > wd_life_point = 3.<br>
> > > >> > > So, it is about 15 to 20 seconds before pgpool-II decide to go to<br>
> > down<br>
> > > >> > > status.<br>
> > > >> > ><br>
> > > >> > > Could you please try edit pgpool.conf? For example:<br>
> > > >> > ><br>
> > > >> > > health_check_max_retries = 2<br>
> > > >> > > health_check_retry_delay = 5<br>
> > > >> > > wd_interval = 10<br>
> > > >> > > wd_life_point = 3;<br>
> > > >> > ><br>
> > > >> > > In fact, I recommend to use heartbeat mode instead of query mode.<br>
> > > >> This mode<br>
> > > >> > > doesn't issue query like 'SELECT 1' for checking pgpool status.<br>
> > So,<br>
> > > >> this<br>
> > > >> > > avoids<br>
> > > >> > > the kind of problem.<br>
> > > >> > ><br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > > <a href="http://172.16.62.141/status.php" target="_blank">http://172.16.62.141/status.php</a><br>
> > > >> > > > IP Address Port Status Weight<br>
> > > >> > > ><br>
> > > >> > > > node 0 tad1 5432 Up. Connected. Running<br>
> > as<br>
> > > >> > > primary<br>
> > > >> > > > server postgres: Up 0.500 |<br>
> > > >> > > > node 1 tad2 5432 Up. Connected. Running<br>
> > as<br>
> > > >> > > standby<br>
> > > >> > > > server postgres: Up 0.500 |<br>
> > > >> > > ><br>
> > > >> > > > <a href="http://172.16.62.142/status.php" target="_blank">http://172.16.62.142/status.php</a><br>
> > > >> > > > IP Address Port Status Weight<br>
> > > >> > > ><br>
> > > >> > > > node 0 tad1 5432 Up. Connected. Running<br>
> > as<br>
> > > >> > > primary<br>
> > > >> > > > server postgres: Up 0.500 |<br>
> > > >> > > > node 1 tad2 5432 Up. Connected. Running<br>
> > as<br>
> > > >> > > standby<br>
> > > >> > > > server postgres: Up 0.500 |<br>
> > > >> > > ><br>
> > > >> > > > shutdown 141, node0, tad1...<br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > > i attach logs....<br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > > this was the final result....<br>
> > > >> > > > ---><br>
> > > >> > > > IP Address Port Status Weight<br>
> > > >> > > ><br>
> > > >> > > > node 0 tad1 5432 Down postgres:<br>
> > Down<br>
> > > >> > > > 0.500 |<br>
> > > >> > > > node 1 tad2 5432 Up. Connected. Running<br>
> > as<br>
> > > >> > > standby<br>
> > > >> > > > server postgres: Up 0.500 |<br>
> > > >> > > > <---<br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > ><br>
> > > >> > > > On Wed, Feb 12, 2014 at 4:11 AM, Yugo Nagata <<br>
> > <a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> > > wrote:<br>
> > > >> > > ><br>
> > > >> > > > > Hi,<br>
> > > >> > > > ><br>
> > > >> > > > > Thanks for sending confs & logs.<br>
> > > >> > > > ><br>
> > > >> > > > > I found that this problem occurs when load_balance_mode = off.<br>
> > > >> > > > > Could you please try with load_balance_mode = on?<br>
> > > >> > > > ><br>
> > > >> > > > > I'll continue to analyze the detailed reason.<br>
> > > >> > > > ><br>
> > > >> > > > > On Mon, 10 Feb 2014 11:40:41 -0200<br>
> > > >> > > > > Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
> > > >> > > > ><br>
> > > >> > > > > > i send the message but it was too long.<br>
> > > >> > > > > > i'll attach the files....<br>
> > > >> > > > > ><br>
> > > >> > > > > > it happens again, even when node 2 was the postgres standby<br>
> > > >> node.<br>
> > > >> > > > > ><br>
> > > >> > > > > > after i put the logs here, i shutdown node 1 (it has the<br>
> > primary<br>
> > > >> > > > > database)<br>
> > > >> > > > > > and it happens the same thing. node 2 lost ip and no<br>
> > failover<br>
> > > >> > > happens.<br>
> > > >> > > > > ><br>
> > > >> > > > > ><br>
> > > >> > > > > > TKS!<br>
> > > >> > > > > ><br>
> > > >> > > > > ><br>
> > > >> > > > > ><br>
> > > >> > > > > ><br>
> > > >> > > > > > On Mon, Feb 10, 2014 at 5:23 AM, Yugo Nagata <<br>
> > > >> <a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> > > > > wrote:<br>
> > > >> > > > > ><br>
> > > >> > > > > > > Hi,<br>
> > > >> > > > > > ><br>
> > > >> > > > > > > This is odd that pgpool-1 losts VIP when server2 goes<br>
> > down.<br>
> > > >> For<br>
> > > >> > > > > analysis,<br>
> > > >> > > > > > > could you please send pgpool.conf and log output (of both<br>
> > > >> pgpool1<br>
> > > >> > > and<br>
> > > >> > > > > > > pgpool2)?<br>
> > > >> > > > > > ><br>
> > > >> > > > > > > On Tue, 4 Feb 2014 13:38:16 -0200<br>
> > > >> > > > > > > Gonzalo Gil <<a href="mailto:gonxalo2000@gmail.com">gonxalo2000@gmail.com</a>> wrote:<br>
> > > >> > > > > > ><br>
> > > >> > > > > > > > Hello Tatsuo Ishii. I send some query mails to<br>
> > > >> > > > > > > > pgpool-general@pgpool.netbut i don't get my own<br>
> > messagese.<br>
> > > >> But<br>
> > > >> > > i do<br>
> > > >> > > > > > > > recieve other mails from the<br>
> > > >> > > > > > > > forum.<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > Can you answer me some questions or forward them to the<br>
> > > >> forum!?<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > I'm runing pgpool with streaming replication: pgpool1 -<br>
> > db<br>
> > > >> > > postgres1<br>
> > > >> > > > > > > > (server 1) and pgpool2 - db postgres 2 (server 2).<br>
> > > >> > > > > > > > I'm using watchdog with a virtual ip and<br>
> > life_check_query.<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > It's all configured and working .... more or less....<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > INIT: I start my system: postgres1 is standby database<br>
> > and<br>
> > > >> > > postgres2<br>
> > > >> > > > > > > > is master (streaming replication).<br>
> > > >> > > > > > > > pgpool1 has the virtual ip.(and pgpool2 no, obviously)<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > i connect to database via pgpool and everithing is ok.<br>
> > > >> > > > > > > > i stop postgres1 and nothing happens because i check<br>
> > > >> new_master<br>
> > > >> > > <><br>
> > > >> > > > > > > > old_master (no master failure).<br>
> > > >> > > > > > > > i start postgres1 again (and returning it with<br>
> > pgpoolAdmin)<br>
> > > >> or<br>
> > > >> > > call a<br>
> > > >> > > > > > > > recovery and it works great.<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > I stop postgres2 and failover fires ... and i get<br>
> > postgres1<br>
> > > >> as<br>
> > > >> > > the<br>
> > > >> > > > > new<br>
> > > >> > > > > > > > primary.<br>
> > > >> > > > > > > > and so on...<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > this works fine.<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > i go back to INIT again....<br>
> > > >> > > > > > > > and i do in server2<br>
> > > >> > > > > > > > reboot -h now<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > i see in the server1 (pgpool1) log that pgpool2 is<br>
> > down...ok<br>
> > > >> > > > > > > > watching the log, i see pgpool1 lost the virtual ip<br>
> > address<br>
> > > >> > > > > (!?)....and<br>
> > > >> > > > > > > > tell me to restart pgpool....(!?)<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > i restart it and i see that failover fires ... but in<br>
> > the<br>
> > > >> > > failover<br>
> > > >> > > > > > > script i<br>
> > > >> > > > > > > > get new_master_node = old_master_node ...and thus i do<br>
> > not<br>
> > > >> make<br>
> > > >> > > > > touch and<br>
> > > >> > > > > > > > postgres1 keeps as a standby...<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > I change failover.sh (and the command in the<br>
> > pgpool.conf). i<br>
> > > >> > > include<br>
> > > >> > > > > all<br>
> > > >> > > > > > > > parameters to see it's values when failover.sh start....<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > Then, i restart serve2 and "return" database to<br>
> > pgpool....<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > again, pgpool1 has the virtual ip.<br>
> > > >> > > > > > > > i stop database in node 2 and failover fires.... but<br>
> > > >> pgpool2 does<br>
> > > >> > > > > > > it....and<br>
> > > >> > > > > > > > pgpool1 too (!?)<br>
> > > >> > > > > > > > i check network activity and saw that pgpool2 connects<br>
> > to<br>
> > > >> > > server1 and<br>
> > > >> > > > > > > make<br>
> > > >> > > > > > > > the touch and i did see log from pgpool1 firing the<br>
> > failover<br>
> > > >> > > command<br>
> > > >> > > > > > > too....<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > Cuestions....<br>
> > > >> > > > > > > > 1. why pgpool1 lost virtual ip and ask me to restart!?<br>
> > > >> > > > > > > > 2. why pgpool2 fires failover? i thought just the<br>
> > "primary"<br>
> > > >> > > pgpool<br>
> > > >> > > > > (the<br>
> > > >> > > > > > > one<br>
> > > >> > > > > > > > with the virtual ip) fires it.<br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > ><br>
> > > >> > > > > > > > i hope you understand mr.<br>
> > > >> > > > > > > > tks a lot for your time..<br>
> > > >> > > > > > > > sorry for my english.<br>
> > > >> > > > > > ><br>
> > > >> > > > > > ><br>
> > > >> > > > > > > --<br>
> > > >> > > > > > > Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> > > > > > ><br>
> > > >> > > > ><br>
> > > >> > > > ><br>
> > > >> > > > > --<br>
> > > >> > > > > Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> > > > ><br>
> > > >> > ><br>
> > > >> > ><br>
> > > >> > > --<br>
> > > >> > > Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >> > ><br>
> > > >><br>
> > > >><br>
> > > >> --<br>
> > > >> Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> > > >><br>
> > > ><br>
> > > ><br>
> ><br>
> ><br>
> > --<br>
> > Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
> ><br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Yugo Nagata <<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>><br>
</font></span></blockquote></div><br></div>