Hacker News new | ask | show | jobs
by ffsm8 564 days ago
Yugabyte is Postgres compatible, not actually Postgres.

It's also only compatible insofar that you can use only a subset of Postgres features, as they're only supporting the most basics things like select, views etc

Triggers, notifys etc were out of scope the last time I checked (which has admittedly been a while)

2 comments

You're right of course, it's not entirely compatible, but this might be interesting:

> We use vanilla Postgres as-is for the query layer and replace Postgres storage with YugabyteDB’s own distributed storage engine.

https://www.yugabyte.com/blog/yugabytedb-enhanced-postgres-c...

I only skimmed that blog post after a while because it reads like a pitch from an MBA targeted at venture capitalists.

I feel like thats not actually a distinction that matters to application developers, because they know thats just a technical detail that only concerns the developers of the database. Ultimately, all the compatibility has to be implemented in the storage engine. The fact that they're using Postgres's porcelain is surely a time saver for them, but of no consequence to the consumers/users of the database

YugabyteDB supports much more than basic things. I've been a 3+ years dev advocate for Yugabyte, and I've always seen triggers. LISTEN/NOTIFY is not yet there (it is an anti-pattern for horizontal scalability, but we will add it as some frameworks use it). Not yet 100% compatible, but there's no Distributed SQL with more PG compatibility. Many (Spanner, CRDB, DSQL) are only wire protocol + dialect. YugabyteDB runs Postgres code and provides the same behavior (locks, isolation levels, datatype arithmetic...)