4 ms·
> There is only one master, hence there can not be a "split brain". That's very naive. There are situations -- very real ones -- where the failing master doesn
by lobster_johnson 12y ago
> There is only one master, hence there can not be a "split brain".
That's very naive. There are situations -- very real ones -- where the failing master doesn't know it is failing, where clients can still connect and the new master can't safely tell the old one to stop being a master. This is where fencing comes in, and other concepts like heartbeats and STONITH and backup interconnects and so on, all of which makes automatic failover complicated and error-prone.
There are good reasons that 35+ years after the invention of the relational database, only the top commercial ones implement this really cleanly (but they still require expensive dedicated DBAs, for the most part).
- moe 12y agoThere are situations I'm tired of contrived "situations" to serve as lame excuses for usability stuck in the 80s. Fencing is a red herring here, introduced by rosser to sound important. It's usually trivial to implement and completely unrelated to the problem that creating and in particular modifying a replica-pair is still a too complex, manual and error-prone operation in postgres. That's one step before any "fencing" even comes into play.