Skip to content

PG Version Matrix

Vivek edited this page Jul 14, 2026 · 1 revision

PostgreSQL Version Matrix

Feature support across PostgreSQL 10–18.


Version Support Overview

Version Release EOL Support Level
PG 10 2017 Nov 2022 ✅ Full
PG 11 2018 Nov 2023 ✅ Full
PG 12 2019 Nov 2024 ✅ Full
PG 13 2020 Nov 2025 ✅ Full
PG 14 2021 Nov 2026 ✅ Full
PG 15 2022 Nov 2027 ✅ Full
PG 16 2023 Nov 2028 ✅ Full
PG 17 2024 Nov 2029 ✅ Full
PG 18 2025 TBD ✅ Full

Feature Matrix by Version

Table Features

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
GENERATED ALWAYS
STORED generated
VIRTUAL generated
IDENTITY columns

Partitioning

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
RANGE partitioning
LIST partitioning
HASH partitioning
DEFAULT partition
Multi-column partition key
SPLIT PARTITION
MERGE PARTITIONS

Index Features

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
INCLUDE columns
CONCURRENTLY
NULLS NOT DISTINCT

Type Features

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
Multirange types
RANGES
ENUM ADD VALUE in txn

Function/Procedure Features

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
PROCEDURE
BEGIN ATOMIC
SQL-body functions

Security Features

Feature PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18
RLS
Security invoker views

Temporal Tables (PG18+)

Feature PG10-17 PG18
PERIOD definition
SYSTEM VERSIONING
Temporal FK
AS OF queries

Version Detection

The engine automatically detects PostgreSQL version:

const snapshot = await engine.introspect(pool);
console.log(snapshot.version);  // 18

// Version-specific queries applied automatically
// No manual configuration needed

Version-Gated Behavior

ENUM ADD VALUE

// PG >= 14: Transaction-safe
// PG < 14: Pre-transaction execution

NULLS NOT DISTINCT

// PG >= 15: Supported
// PG < 15: Ignored with warning

INCLUDE Columns

// PG >= 11: Include clause generated
// PG < 11: Index without INCLUDE

Deprecated Features

Feature Deprecated Removed Notes
pg_constraint.consrc PG12 PG14 Use pg_get_constraintdef
pg_type.typtype='d' - - Still used for domains
pg_class.reloff PG16 - Obsolete, tablespace drives location

See Also

Clone this wiki locally