Обсуждение: how to tell master from replica

Поиск
Список
Период
Сортировка

how to tell master from replica

От
Scott Ribe
Дата:
Assuming a master & replica set up using streaming replication, hot standby, 9.3.

I'd like to have a single script on both machines distinguish whether it's running on the machine with the master or
replica,and take different actions accordingly. 

Is the way to do this to check for the presence of wal sender process vs wal receiver process? Or is there a query that
couldexecuted against sys tables to find current running config of the local postmaster? 

--
Scott Ribe
scott_ribe@elevated-dev.com
http://www.elevated-dev.com/
(303) 722-0567 voice






Re: how to tell master from replica

От
bricklen
Дата:

On Wed, Sep 25, 2013 at 4:53 PM, Scott Ribe <scott_ribe@elevated-dev.com> wrote:
Assuming a master & replica set up using streaming replication, hot standby, 9.3.

I'd like to have a single script on both machines distinguish whether it's running on the machine with the master or replica, and take different actions accordingly.

Is the way to do this to check for the presence of wal sender process vs wal receiver process? Or is there a query that could executed against sys tables to find current running config of the local postmaster?


Re: how to tell master from replica

От
Michael Paquier
Дата:
On Thu, Sep 26, 2013 at 8:53 AM, Scott Ribe <scott_ribe@elevated-dev.com> wrote:
> Assuming a master & replica set up using streaming replication, hot standby, 9.3.
>
> I'd like to have a single script on both machines distinguish whether it's running on the machine with the master or
replica,and take different actions accordingly. 
>
> Is the way to do this to check for the presence of wal sender process vs wal receiver process? Or is there a query
thatcould executed against sys tables to find current running config of the local postmaster? 
"SELECT pg_is_in_recovery();" can be used to make the difference
between a master and a slave.
--
Michael


Re: how to tell master from replica

От
bricklen
Дата:

On Wed, Sep 25, 2013 at 5:11 PM, bricklen <bricklen@gmail.com> wrote:

On Wed, Sep 25, 2013 at 4:53 PM, Scott Ribe <scott_ribe@elevated-dev.com> wrote:
Assuming a master & replica set up using streaming replication, hot standby, 9.3.

I'd like to have a single script on both machines distinguish whether it's running on the machine with the master or replica, and take different actions accordingly.

Is the way to do this to check for the presence of wal sender process vs wal receiver process? Or is there a query that could executed against sys tables to find current running config of the local postmaster?



Sorry, meant "pg_is_in_recovery()". (Michael's response tipped me off)

Re: how to tell master from replica

От
Scott Ribe
Дата:
On Sep 25, 2013, at 6:13 PM, Michael Paquier <michael.paquier@gmail.com> wrote:

> "SELECT pg_is_in_recovery();" can be used to make the difference
> between a master and a slave.

Exactly what I need; thanks.

--
Scott Ribe
scott_ribe@elevated-dev.com
http://www.elevated-dev.com/
(303) 722-0567 voice