2017-03-19 17:52 GMT+13:00 lin <jlu...@163.com>:

> Hi,
>     everyone. I am puzzled
> <https://www.baidu.com/link?url=jInEDezMLuMV_corXvCP8CETViLH7RBG45m-C91WcPScwzYDdIWsiKilkG-4jIwgFGyxoIYaKbkbt5ijJc4m1qnl5ESOYdXggHLBeBmpDmC&wd=&eqid=b06a8963001f680e0000000358ce0b14>
>  about
> the question: the master A has two slave slave_1 , slave_2 , the version of
> postgres is 9.3. I want to promote one slave to master, and the other slave
> as the new master's slave, but which slave should can promote ?
>
> get the master-slave information from old master:
> postgres=# select * from pg_stat_replication;
> -[ RECORD 1 ]----+------------------------------
> pid              | 15377
> usesysid         | 10
> usename          | postgres
> *application_name | slave_1*
> client_addr      | 10.20.16.201
> client_hostname  |
> client_port      | 46086
> backend_start    | 2017-03-19 12:42:02.026278+08
> state            | streaming
> sent_location    | 1/34FB0000
> write_location   | 1/34EB0000
> flush_location   | 1/34DB0000
> replay_location  | 1/34C4FFD8
> sync_priority    | 0
> sync_state       | async
> -[ RECORD 2 ]----+------------------------------
> pid              | 15411
> usesysid         | 10
> usename          | postgres
> *application_name | slave_2*
> client_addr      | 10.20.16.200
> client_hostname  |
> client_port      | 51102
> backend_start    | 2017-03-19 12:42:12.477886+08
> state            | streaming
> sent_location    | 1/414FD320
> write_location   | 1/414FD320
> flush_location   | 1/414FD320
> replay_location  | 1/3DD91468
> sync_priority    | 0
> sync_state       | async
>
> 1. which one can promote to master ,slave_1 or slave_2 ?
> :: I think it is slave_2, because write_location  slave_2 1/414FD320  >
>  slave_1 (1/34FB0000), it is right?
>
> 2. If the slave_1 is sync state, which one can promote to master?  I am
> puzzled.
>
>
You can promote any slave server to become a master server. It's up to you
which one to do it; more info can be found here [1].

*Example:*

slave_1 will be the new master and slave_2 will be the slave of that new
master.


Make sure to have all the wal files and history files copied to the
 slave_2 server otherwise it won't be able to switch timeline.

[1] https://www.postgresql.org/docs/9.3/static/warm-standby-failover.html

Lucas

Reply via email to