YugabyteDB is a PostgreSQL compatible distributed database that supports the majority of PostgreSQL syntax. This means that existing applications built on PostgreSQL can often be migrated to YugabyteDB without changing application code.

Because YugabyteDB is PostgreSQL compatible, it works with the majority of PostgreSQL database tools such as various language drivers, ORM tools, schema migration tools, and many more third-party database tools.

Because YugabyteDB is a distributed database, supporting all PostgreSQL features easily in a distributed system is not always feasible. This page documents the known list of differences between PostgreSQL and YugabyteDB. You need to consider these differences while porting an existing application to YugabyteDB.

Unsupported PostgreSQL features

The following PostgreSQL features are not supported in YugabyteDB:

  • Pessimistic locking (Except Read Committed which is in beta supports pessimistic locking)
  • Table locks
  • Inheritance
  • Exclusion Constraints
  • GiST indexes
  • Kerberos/GSSAPI
  • Events (Listen/Notify)
  • Drop primary key
  • XML Functions
  • XA syntax