Обсуждение: Pg_ctl promote -- wait for slave to be promoted fully ?
Hi team, I am using PG 9.1.2 and I am promoting a slave to master with the following command. pg_ctl promote -D /pat/to/data Command does return back faster with code 0 ( = success). I assumed the slave is now the master and issued write operations. But the statement failed as the DB complained that it can do only read operation. Postgres.log showed "ready to accept connection" a second later after I issued the statement. So, my understanding is "pg_ctl promote" is triggering a slave promote and is "asynchornous". -- Anyway I can query the state of DB to know its status slave or master ?? So, that i can issue write statements only after I know that the DB is the new master now -- Or anyway to make pg_ctl promote to wait till the slave is completely promoted ? Any help is appreciated. -- thanks, Manoj
On Sat, Jul 21, 2012 at 5:28 AM, Manoj Govindassamy <manoj@nimblestorage.com> wrote: > -- Anyway I can query the state of DB to know its status slave or master ?? > So, that i can issue write statements only after I know that the DB is the > new master now Yep. Use pg_is_in_recovery() - it's false on the master, true on slaves. http://www.postgresql.org/docs/9.1/static/functions-admin.html#FUNCTIONS-RECOVERY-INFO-TABLE ChrisA
awesome. thanks for the help. Will test it out. thanks, Manoj On 07/20/2012 06:57 PM, Chris Angelico wrote: > On Sat, Jul 21, 2012 at 5:28 AM, Manoj Govindassamy > <manoj@nimblestorage.com> wrote: >> -- Anyway I can query the state of DB to know its status slave or master ?? >> So, that i can issue write statements only after I know that the DB is the >> new master now > Yep. Use pg_is_in_recovery() - it's false on the master, true on slaves. > > http://www.postgresql.org/docs/9.1/static/functions-admin.html#FUNCTIONS-RECOVERY-INFO-TABLE > > ChrisA >