Turning slaves into masters
A slave can be a wonderful thing if you want to scale up reads or get a backup of your data. But a slave might not always have to remain a slave. At some point, you might need to turn a slave into a master. In classic cases, this happens when the original master crashes or the hardware has to be changed.
Tip
Be careful when promoting a slave. It cannot easily be demoted anymore. Once a slave has turned into a master, it can be a slave again only after performing a complete resync or after running pg_rewind
, which will be available by default in PostgreSQL 9.5.
PostgreSQL offers some simple ways to do this. The first way, and most likely the most convenient way, to turn a slave into a master is by using pg_ctl
:
iMac:slavehs$ pg_ctl -D /target_directory promote server promoting iMac:slavehs$ psql test psql (9.2.4) Type "help" for help. test=# CREATE TABLE sample (id int4); CREATE TABLE
The promote
command will signal the postmaster and turn your slave into a master...