db-compat

Compare SQL capabilities across SQLite, PostgreSQL, and MySQL drivers. Test what features work with each driver—transactions, JSON, CTEs, full-text search, and more.

Auto-generated data, may not be 100% accurate.

CapabilitySQLitePostgreSQLMySQL
transactions
BEGIN

Explicit transaction start

—
COMMIT

Commit transaction

—
ROLLBACK

Rollback transaction

—
SAVEPOINT

Transaction savepoints

—
batch_atomicity

Atomic batch execution

—
types
type_boolean

Boolean type support

—
type_json

JSON/JSONB column type

—
type_array

Array column type

—
type_date

DATE type

—
type_timestamp

TIMESTAMP type

—
type_uuid

UUID type

—
type_bigint

BIGINT type

—
type_decimal

DECIMAL/NUMERIC type

—
json
JSON_EXTRACT

Extract JSON values

—
JSON_SET

Modify JSON values

—
JSON_ARRAY

Create JSON arrays

—
jsonb_operators

JSONB operators

—
queries
RETURNING

RETURNING clause

—
UPSERT_on_conflict

ON CONFLICT clause

—
UPSERT_on_duplicate

ON DUPLICATE KEY (MySQL)

—
UPSERT_replace

REPLACE INTO (SQLite)

—
CTE

Common Table Expressions (WITH)

—
CTE_recursive

Recursive CTEs (WITH RECURSIVE)

—
window_functions

Window functions

—
LIMIT_OFFSET

LIMIT and OFFSET

—
subqueries

Subqueries

—
fts
FTS_basic

Full-text search

—
FTS_ranking

FTS ranking/scoring

—
constraints
foreign_keys

Foreign key constraints

—
CHECK_constraint

CHECK constraints

—
UNIQUE_constraint

UNIQUE constraints

—
other
prepared_statements

Prepared statements

—
EXPLAIN

Query explain/analysis

—