https://spilo.readthedocs.org/en/latest/DESIGN/
https://github.com/sorintlab/stolon
I wonder how they compare to yoke.
https://spilo.readthedocs.org/en/latest/DESIGN/
https://github.com/sorintlab/stolon
I wonder how they compare to yoke.
it's better to have a flexible 'correct' implementation of a DB instead of baking in features which make it more complex and less extensible.
Cf. their JSON support, which regularly outperforms dedicated NoSQL databases; they're also slowly integrating building blocks for multi-master replication, while still holding out on actually implementing it – seeing MariaDB's recent track record with their solution ( https://aphyr.com/posts/328-call-me-maybe-percona-xtradb-clu... ), probably a good decision.
If you read the MySQL documentation, it's full of "until version 5.7.7.3 this returned NULL if..." or "this will accept invalid dates unless a certain mode flag is enabled" (I'm paraphrasing, obviously). Postgres has none of this.
They do occasionally deprecate features, such as OIDs, which are supported but not recommended (or particularly useful), or they change some key behaviour (standard_conforming_strings).
Sometimes the development strategy leads to incomplete or overlapping functionality because they prefer discrete, additive changes over big, one-off overhauls. But in general, Postgres' conservative strategy has really paid off.
Another example, INSERT ... ON CONFLICT UPDATE (UPSERT/MERGE) available just now in the 9.5 beta.