You need to have slony setup and working on both machines (on Debian:
aptitude install postgresql-8.4-slony1-2 slony1-2-bin). These instructions are meant to be used in conjuction with the Slony documentation.
You need to have Freeside setup and working on both machines. On the slave machine, don't run freeside-setup or start the daemons, but *do* put the init script in place and setup any necessary SSH keys or database auth necessary for integration. Copy
htpasswd from the master to the slave server.
- See the Slony documentation on Replicating Your First Database
bin/slony-setup username | moreand follow the generated instructions.
- See the Slony documentation on Doing switchover and failover with Slony-I
- Determine if you are doing a controlled switchover or a failover.
- A controlled switchover is preferable. On the master server, run:
slonik <<END lock set (id = 1, origin = 1); wait for event (origin = 1, confirmed = 2); move set (id = 1, old origin = 1, new origin = 2); wait for event (origin = 1, confirmed = 2); END
- A failover may be necessary. IMPORTANT: "shoot the master server in the head" - make sure it is powered off / disconnected from the network. On the slave server, run:
slonik <<END failover (id = 1, backup node = 2); drop node (id = 1, event node = 2); END
- Start the freeside daemons on the slave server: