[pgpool-general: 6779] Re: Delay in synchronous replication, is it possible ?!

Bo Peng pengbo at sraoss.co.jp
Thu Nov 14 12:53:20 JST 2019


Hi,

On Wed, 13 Nov 2019 13:01:07 -0300
Franklin Anderson de Oliveira Souza <franklinbr at gmail.com> wrote:

> I use pgpool with 5 slave on mode synchronous.
> But sometimes i see values on column replication_delay when execute command
> show pool_nodes.
> Sometimes, when a node goes beyond the value of delay_threshold, the node
> does not receive balancing query.
> 
> But
> 1- Synchronous replication should not be delayed is not it?
> 2- How is this possible ?
> 3- Is the replication_delay parameter of pgpool wrong?
> 
> show pool_nodes
>  node_id |  hostname   | port | status | lb_weight |  role   | select_cnt |
> load_balance_node | replication_delay | last_status_change
> ---------+-------------+------+--------+-----------+---------+------------+-------------------+-------------------+---------------------
>  0       | IP          | 5432 | up     | 0.100000  | primary | 230616548  |
> false             | 0                 | 2019-10-24 19:17:27
>  1       | IP          | 5432 | up     | 0.100000  | standby | 172466610  |
> true              | 0                 | 2019-10-24 19:17:27
>  2       | IP          | 5432 | up     | 0.100000  | standby | 180179200  |
> false             | 234324            | 2019-10-24 19:17:27
>  3       | IP          | 5432 | up     | 0.100000  | standby | 178475037  |
> false             | 20777216          | 2019-10-24 19:17:27
>  4       | IP          | 5432 | up     | 0.100000  | standby | 182174042  |
> false             | 0                 | 2019-10-24 19:17:27
>  5       | IP          | 5432 | up     | 0.100000  | standby | 181169375  |
> false             | 0                 | 2019-10-24 19:17:27
> 
> 
> 
> pg_stat_replication
>   application_name  | client_addr |  write_lsn   |  flush_lsn   |
> write_lag    | sync_priority | sync_state
> --------------------+-------------+--------------+--------------+-----------------+---------------+------------
>  pje1_slave1        | IP          | 8FA/42E88B60 | 8FA/42E88B60 |
> 00:00:00.000355 |             1 | sync
>  pje1_slave2        | IP          | 8FA/42E88B60 | 8FA/42E88B60 |
> 00:00:00.000312 |             2 | potential
>  pje1_slave3        | IP          | 8FA/42E88B60 | 8FA/42E88B60 |
> 00:00:00.000366 |             3 | potential
>  pje1_slave4        | IP          | 8FA/42E88B60 | 8FA/42E88B60 |
> 00:00:00.000277 |             4 | potential
>  pje1_slave5        | IP          | 8FA/42E88B60 | 8FA/42E88B60 |
> 00:00:00.000265 |             5 | potential

It's the feature of PostgreSQL synchronous replication, not pgpool's issue.

As you can see from pg_stat_replication.sync_state, 
only "pje1_slave1" is a synchronous standby.
pje1_slave2-5 are "potential" which means asynchronous standby.

See more details:
https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-REPLICATION-VIEW


> -- 
> foobar


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


More information about the pgpool-general mailing list