|
From: zhou l. <zh...@gm...> - 2014-08-19 14:40:47
|
Hi All,
Datanode streaming replication state is async after pgxc_ctl command
init all or start all。Datanode master sync_state is async in
pg_stat_replication,as fallows :
postgres=# select * from pg_stat_replication;
pid | usesysid | usename | application_name | client_addr |
client_hostname | client_port | backend_start |
state | sent_location | write_location | flush_location |
replay_location | sync_priority | sync_state
------+----------+---------+------------------+----------------+-----------------+-------------+-------------------------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------
2772 | 10 | postgres | datanode2 | 192.168.34.162 |
| 51715 | 2014-08-20 04:35:39.561691+08 | streaming
| 0/30011E8 | 0/30011E8 | 0/30011E8 | 0/30011B8 |
0 | async
(1 row)
postgres=# show synchronous_standby_names;
synchronous_standby_names
---------------------------
(1 row)
behavior of pgxc_ctl :
1、when stoping datanode slave,prepare_stopDatanodeSlave() set the
master to asynchronous mode by changing datanode master parameters
synchronous_standby_names='', then reload master postgresql.conf if
the master is running
2、when starting datanode slave,prepare_startDatanodeSlave() change
master parameters synchronous_standby_names='datanode name' , but it
forget reload the master postgresql.conf, so the
synchronous_standby_names is invalid, replication is always
asynchronous, is it a bug of pgxc_ctl ?
--
Thanks
Zhou Liang
|