[pgpool-general: 7407] Re: All nodes are the standby

Bo Peng pengbo at sraoss.co.jp
Tue Jan 26 09:07:34 JST 2021


Hi,

On Mon, 25 Jan 2021 17:20:45 +0000
Luís Alves <luisalves00 at gmail.com> wrote:

> Thanks Bo, that help me a lot.
> 
> I have a similar setup as described in
> https://www.pgpool.net/docs/42/en/html/example-cluster.html (only with 2
> node), but seems that the pgpool master can only talk with the postgres
> that is on the same machine. So if MASTER is not in the writing node I
> cannot write.
> I think it is because the machines now have more than one network interface
> and probably something is not binding correctly.

You need to check the network settings so that
pgpool can connect to all backend nodes.

> Here is some info:
> 
> pgpool-II successfully started. version 4.1.5 (karasukiboshi)
> 
> ...
> 
> -bash-4.2$ psql -h 10.230.4.149 -p 9999 -U pgpool postgres -c "show
> pool_nodes"
>  node_id |         hostname         | port | status | lb_weight |  role   |
> select_cnt | load_balance_node | replication_delay | replication_state |
> replication_sync_state | last_status_c
> hange
> ---------+--------------------------+------+--------+-----------+---------+------------+-------------------+-------------------+-------------------+------------------------+--------------
> -------
>  0       | qs-audit-trail-01.dc.me | 5432 | up     | 0.500000  | primary |
> 0          | false             | 0                 |                   |
>                      | 2021-01-25 18
> :12:05
>  1       | qs-audit-trail-02.dc.me | 5432 | up     | 0.500000  | standby |
> 0          | true              | 0                 | streaming         |
> async                  | 2021-01-25 18
> :12:05
> (2 rows)
> 
> and
> 
> -bash-4.2$ pcp_watchdog_info -w -h 10.230.4.149 -p 9898 -U pgpool  --verbose
> Watchdog Cluster Information
> Total Nodes          : 2
> Remote Nodes         : 1
> Quorum state         : QUORUM EXIST
> Alive Remote Nodes   : 1
> VIP up on local node : YES
> Master Node Name     : qs-audit-trail-01.dc.me:9999 Linux qs-audit-trail-01
> Master Host Name     : qs-audit-trail-01.dc.me
> 
> Watchdog Node Information
> Node Name      : qs-audit-trail-01.dc.me:9999 Linux qs-audit-trail-01
> Host Name      : qs-audit-trail-01.dc.me
> Delegate IP    : 10.230.4.149
> Pgpool port    : 9999
> Watchdog port  : 9000
> Node priority  : 1
> Status         : 4
> Status Name    : MASTER
> 
> Node Name      : qs-audit-trail-02.dc.me:9999 Linux qs-audit-trail-02
> Host Name      : qs-audit-trail-02.dc.me
> Delegate IP    : 10.230.4.149
> Pgpool port    : 9999
> Watchdog port  : 9000
> Node priority  : 1
> Status         : 7
> Status Name    : STANDBY
> 
> pgpool.conf:
> 
> # - Backend Connection Settings -
> 
> backend_hostname0 = 'qs-audit-trail-01.dc.me'
> backend_port0 = 5432
> backend_weight0 = 1
> backend_data_directory0 = '/export/pgsql/data'
> backend_flag0 = 'ALLOW_TO_FAILOVER'
> backend_application_name0 = 'qs-audit-trail-01.dc.me'
> 
> backend_hostname1 = 'qs-audit-trail-02.dc.me'
> backend_port1 = 5432
> backend_weight1 = 1
> backend_data_directory1 = '/export/pgsql/data'
> backend_flag1 = 'ALLOW_TO_FAILOVER'
> backend_application_name1 = 'qs-audit-trail-02.dc.me'
> 
> 
> Any hints to figure out the problem? Everything seems to be working out
> except this.
> 
> Regards,
> LA
> 
> 
> On Thu, Jan 21, 2021 at 12:41 AM Bo Peng <pengbo at sraoss.co.jp> wrote:
> 
> > Hi,
> >
> > On Tue, 19 Jan 2021 15:02:05 +0000
> > Luís Alves <luisalves00 at gmail.com> wrote:
> >
> > > Hi
> > >
> > > Mu cluster have 2 nodes and currently I'm getting:
> > >
> > > find_primary_node: standby node is 1
> > > find_primary_node: standby node is 0
> >
> > It seems that Pgpool-II can't detect the primary node.
> > Pgpool executes "SELECT pg_is_in_recovery()" on each backend node to find
> > the primary node.
> >
> > > I'm trying to issue detach or promote commands but I get this:
> > >
> > > -bash-4.2$ pcp_detach_node -w -h 10.230.4.148 -p 9898 -U pgpool -g  -n 1
> > > ERROR: connection to host "10.230.4.148" failed with error "Connection
> > > refused"
> > > -bash-4.2$  pcp_promote_node -w -h 10.230.4.148 -p 9898 -U pgpool -g  -n
> > 0
> > > ERROR: connection to host "10.230.4.148" failed with error "Connection
> > > refused"
> >
> > The pcp commands failed.
> > Please make sure the hostname "10.230.4.148" and port "9898" is specified
> > correctly.
> >
> > > Any idea how I can mark one as primary?
> > >
> > > I'm running with the -D flag: /usr/bin/pgpool -f
> > /etc/pgpool-II/pgpool.conf
> > > -D -n
> >
> > Please note that "pcp_promote_node" just changes the internal status of
> > Pgpool-II
> > and it does not actually promote PostgreSQL standby server.
> >
> > You need to connect to backend directly to promote the standby
> > as primary in the following steps:
> >
> > 1. detach node0 using "pcp_detach_node"
> > 2. promote node0 using "pg_ctl promote ..."
> > 3. attach node0 using "pcp_attach_node"
> >
> > --
> > Bo Peng <pengbo at sraoss.co.jp>
> > SRA OSS, Inc. Japan
> >


-- 
Bo Peng <pengbo at sraoss.co.jp>
SRA OSS, Inc. Japan


More information about the pgpool-general mailing list