I have a Postgres database HA cluster I've set up in a lab. I'm using PgPool-II to manage fail-over.
For the cluster itself, I have three identical Postgres 9.2 servers set up like so:
- Server A - Master DB
- Server B - Slave DB with synchronous Streaming Replication
- Server C - Slave DB with asynchronous Streaming Replication (possible synchronous server)
When Server A fails, server B takes over (no problems here). However, I need to make sure that Server C is 're-pointed' to stream from Server B.
Currently, I'm achieving this by doing a full base backup from B to C - it works, but seems like a sledgehammer approach given that the two databases should be almost identical at the point when server A fails...
Is there a sensible way to get server C to start streaming from server B without doing a full base backup?
I'm not looking for a hack to get this to work - the lab system will eventually move into a production environment, so I need a solid solution...
Any advice or pointers would be most welcome!