"When backend node status changes by failover etc., watchdog notifies the information to other pgpool-IIs and synchronizes them. When online recovery occurs, watchdog restricts client connections to other pgpool-IIs for avoiding inconsistency between backends."
You're taking that out of context, though. That is coming from the doc http://www.pgpool.net/docs/latest/pgpool-en.html#watchdog, which is describing how Watchdog coordinates fault of pgpool-II backend processes and coordinates the pgpool-II instances with each other. It is for maintaining availability of pgpool-II and monitoring for failure of pgpool-II backends, not Postgres/postmaster.
But it appears that the fail condition for "watchdog" is the failure of a pgpool-II instance. In the configuration described in the wiki you would put a pgpool-II instance on each Postgres node, and if one of the pgpool-II instances fails it executes a script (which can create the trigger file to promote the standby to master). However, if the fail condition for watchdog is a failure of the pgpool-II instance what happens if the DBMS has availability issues but the pgpool-II process on that server is ok? The fail condition would never be triggered, right?
What I am going off of is:
"When backend node status changes by failover etc., watchdog notifies the information to other pgpool-IIs and synchronizes them. When online recovery occurs, watchdog restricts client connections to other pgpool-IIs for avoiding inconsistency between backends."
A backend node status would change if say the master went down, at that point pgpool can be instructed either automatically or manually to failover (depending on configuration) and allow the slave to failover.
Sincerely,
JD
-- Command Prompt, Inc. - http://www.commandprompt.com/503-667-4564 PostgreSQL Centered full stack support, consulting and development. Announcing "I'm offended" is basically telling the world you can't control your own emotions, so everyone else should do it for you.