top | item 46907269

(no title)

lima | 24 days ago

Postgres is not a CP database, and even with synchronous replication, it can lose writes during network partitions. It would not pass the Jepsen test suite.

This is very hard to fix and requires significant architectural changes (like Yugabyte or Neon have done).

discuss

order

riku_iki|23 days ago

> Postgres is not a CP database, and even with synchronous replication, it can lose writes during network partitions.

Argument is that partitioning almost never happens, because of network reliably rerouting traffic.

lima|23 days ago

Reliable networks don't actually exist[1].

Clearly, it's possible to reduce the risk to the point where many companies are willing to accept it, but it's still a problem and comes with high operational costs. And for some use cases (like finance), even a small risk of undefined database behavior or lost writes is unacceptable.

The future are distributed databases with consensus, and unfortunately, Postgres isn't there yet.

[1]: https://aphyr.com/posts/288-the-network-is-reliable