Compatibility
SereneDB uses PostgreSQL's SQL parser and speaks the PostgreSQL wire protocol (version 3.0). Most PostgreSQL clients, drivers and tools connect without any code changes. The SQL dialect covers the majority of day-to-day PostgreSQL syntax — data types, DML, DDL, transactions and functions.
That said, SereneDB is a different engine built from scratch. Some PostgreSQL features behave differently, and some are not yet implemented.
PostgreSQL Compatibility
See PostgreSQL Compatibility for a detailed breakdown of supported statements, types and functions, together with the behavioral differences where SereneDB intentionally diverges from PostgreSQL.
SQL Dialect
Beyond core compatibility, SereneDB's dialect adds a few deliberate behaviors and extensions:
- SQL Extensions — dialect extensions such as
GROUP BY ALL,CREATE OR REPLACE TABLEandSELECT * EXCLUDE. - Keywords and Identifiers — case-sensitivity rules and identifier handling.
- Order Preservation — when and how insertion order is preserved.
- SQL Quirks — idiosyncrasies worth knowing about.
System Tables
SereneDB provides the pg_catalog schema with PostgreSQL-compatible system tables. These are used by clients and tools for schema introspection — listing tables, columns, types and other metadata. See System Table Compatibility for the full matrix.
What is not supported
XML types
PostgreSQL's XML data type and related functions are not planned.