[pgpool-general: 8717] Re: Postgres 14 / Patroni 3.01 / PGPool 4.3.3..."play nice" together settings

Tatsuo Ishii ishii at sraoss.co.jp
Wed Apr 5 12:12:29 JST 2023


Hi,

> We want to examine using PGPool as an intelligent proxy only, while letting
> Patronic orchestrate failover/switcher and rewind/recovery.
> 
> Obviously, our failover_command and other similar settings should just be
> blank.  What other settings should I make to allow PGPool to recognize that
> the primary might have changed when PGPool is not executing that change?
> 
> We've tried setting backend_flag0/1/2 = 'DISALLOW_TO_FAILOVER', but PGPool
> did not recognize the change in primary.

You should not set DISALLOW_TO_FAILOVER. Even if you want setup
Pgpool-II as a proxy, you should not turn off failover because
Pgpool-II recognizes the primary change at failover. You just need to
disable failover_command and follow_primary_command. Also I recommend
to disable failover_on_backend_error to avoid accidental failover.
Thus followings are necessary set up:

failover_command = ''
follow_primary_command = ''
failover_on_backend_error = off

With this settings the actual operation looks like this (suppose we
have 3 PostgreSQL servers).

# The Initial state: node 0 is primary.

$ pcp_node_info -w -p 11001
localhost 11002 1 0.333333 waiting up primary primary 0 none none 2023-04-05 11:54:15
localhost 11003 1 0.333333 waiting up standby standby 0 streaming async 2023-04-05 11:54:15
localhost 11004 1 0.333333 waiting up standby standby 0 streaming async 2023-04-05 11:54:15

# Stop the primary

$ pg_ctl -D data0 stop
waiting for server to shut down.... done
server stopped

# node 0 is surely down.

$ pcp_node_info -w -p 11001
localhost 11002 1 0.333333 waiting down primary unknown 0 none none 2023-04-05 11:54:15
localhost 11003 1 0.333333 waiting up standby standby 0 streaming async 2023-04-05 11:54:15
localhost 11004 1 0.333333 waiting up standby standby 0 streaming async 2023-04-05 11:54:15

# make node 1 to new primary.

$ pg_ctl -D data1 promote
waiting for server to promote.... done
server promoted

# As you can see, pgpool reconizes new primary.

$ pcp_node_info -w -p 11001
localhost 11002 3 0.333333 down down standby unknown 0 none none 2023-04-05 11:55:16
localhost 11003 1 0.333333 waiting up primary primary 0 none none 2023-04-05 11:55:16
localhost 11004 1 0.333333 waiting up standby standby 104 none none 2023-04-05 11:54:15

Note that node 2 is not following new primary. Maybe Patroni takes care of this?

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp


More information about the pgpool-general mailing list