This table outlines which features were added in which version. To get more information about a feature, click the link or hover the mouse pointer over the text.
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Arrays of compound types | |||||||||||||||
| Array support | |||||||||||||||
| ENUM data type | |||||||||||||||
| GUID/UUID data type | |||||||||||||||
| macaddr8 data type | |||||||||||||||
| Multiranges | |||||||||||||||
| NULLs in Array | |||||||||||||||
| Phrase search | |||||||||||||||
| Range types | |||||||||||||||
| smallserial type | |||||||||||||||
| Type modifier support | |||||||||||||||
| UUIDv7 | |||||||||||||||
| XML data type |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Block-range (BRIN) indexes | |||||||||||||||
| B-tree bottom-up index deletion | |||||||||||||||
| B-tree deduplication | |||||||||||||||
| Concurrent GiST indexes | |||||||||||||||
| Covering Indexes for B-trees (INCLUDE) | |||||||||||||||
| Covering indexes for GiST (INCLUDE) | |||||||||||||||
| Deferrable unique constraints | |||||||||||||||
| Exclusion constraints | |||||||||||||||
| GIN (Generalized Inverted Index) Indexes | |||||||||||||||
| GIN indexes partial match | |||||||||||||||
| GIN Index performance and size improvements | |||||||||||||||
| GiST (Generalized Search Tree) Indexes | |||||||||||||||
| Indexes on expressions | |||||||||||||||
| Index-only scans | |||||||||||||||
| Index-only scans on GiST | |||||||||||||||
| Index support for IS NULL | |||||||||||||||
| In-memory Bitmap Indexes | |||||||||||||||
| K-nearest neighbor GiST support | |||||||||||||||
| K-nearest neighbor SP-GiST Support | |||||||||||||||
| Non-blocking CREATE INDEX | |||||||||||||||
| Parallel B-tree index scans | |||||||||||||||
| Parallelized CREATE INDEX for BRIN indexes | |||||||||||||||
| Parallelized CREATE INDEX for B-tree indexes | |||||||||||||||
| Parallelized CREATE INDEX for GIN indexes | |||||||||||||||
| Skip scan on multicolumn B-tree indexes | |||||||||||||||
| Space-Partitioned GiST (SP-GiST) Indexes | |||||||||||||||
| SP-GiST indexes for range types | |||||||||||||||
| UNIQUE NULLS NOT DISTINCT | |||||||||||||||
| WAL support for hash indexes |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ALTER object IF EXISTS | |||||||||||||||
| ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX | |||||||||||||||
| ALTER TABLE ... SET ACCESS METHOD | |||||||||||||||
| ALTER TABLE ... SET LOGGED / UNLOGGED | |||||||||||||||
| Changing column types (ALTER TABLE .. ALTER COLUMN TYPE) | |||||||||||||||
| CREATE ACCESS METHOD | |||||||||||||||
| CREATE TABLE ... (LIKE) with foreign tables, views and composite types | |||||||||||||||
| DROP object IF EXISTS | |||||||||||||||
| ON COMMIT clause for CREATE TEMPORARY TABLE | |||||||||||||||
| REINDEX CONCURRENTLY | |||||||||||||||
| Stored Generated Columns | |||||||||||||||
| Temporal constraints | |||||||||||||||
| Typed tables | |||||||||||||||
| Virtual Generated Columns |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Improved set of JSON functions and operators | |||||||||||||||
| JSONB data type | |||||||||||||||
| JSONB-modifying operators and functions | |||||||||||||||
| JSONB Subscripting | |||||||||||||||
| JSON data type | |||||||||||||||
| SQL/JSON constructors | |||||||||||||||
| SQL/JSON: datetime() | |||||||||||||||
| SQL/JSON IS JSON | |||||||||||||||
| SQL/JSON JSON_TABLE | |||||||||||||||
| SQL/JSON path expressions | |||||||||||||||
| SQL/JSON query functions |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Accelerated partition pruning | |||||||||||||||
| Declarative table partitioning | |||||||||||||||
| Default Partition | |||||||||||||||
| Foreign Key references for partitioned tables | |||||||||||||||
| Foreign table inheritance | |||||||||||||||
| Partitioning by a hash key | |||||||||||||||
| Partition pruning during query execution | |||||||||||||||
| Support for PRIMARY KEY, FOREIGN KEY, indexes, and triggers on partitioned tables | |||||||||||||||
| Table Partitioning | |||||||||||||||
| UPDATE on a partition key |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Materialized Views | |||||||||||||||
| Materialized views with concurrent refresh | |||||||||||||||
| SECURITY INVOKER views | |||||||||||||||
| Temporary VIEWs | |||||||||||||||
| Updatable views | |||||||||||||||
| WITH CHECK clause |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pg_upgrade --swap | |||||||||||||||
| Planner statistics preserved on major version upgrade |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| COPY from/to STDIN/STDOUT | |||||||||||||||
| COPY FROM ... WHERE | |||||||||||||||
| COPY ... ON_ERROR | |||||||||||||||
| COPY with arbitrary SELECT | |||||||||||||||
| CSV support for COPY |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ALTER SYSTEM | |||||||||||||||
| Fractional input for "integer" values | |||||||||||||||
| Include directives for pg_hba.conf and pg_ident.conf | |||||||||||||||
| Per user/database server configuration settings | |||||||||||||||
| pg_config system view | |||||||||||||||
| Regular expression matching in pg_hba.conf and pg_ident.conf |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cursors | |||||||||||||||
| Savepoints | |||||||||||||||
| Serializable Snapshot Isolation | |||||||||||||||
| Two Phase commit | |||||||||||||||
| Updatable cursors |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Inserted data can trigger autovacuum | |||||||||||||||
| Integrated autovacuum daemon | |||||||||||||||
| Page freezing optimizations | |||||||||||||||
| Parallelized VACUUM for Indexes | |||||||||||||||
| Parallel vacuumdb jobs | |||||||||||||||
| Radix tree memory structure for vacuum | |||||||||||||||
| Vacuum "emergency mode" | |||||||||||||||
| Visibility Map for Vacuuming |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CASE in pl/pgsql | |||||||||||||||
| CONTINUE statement for PL/pgSQL | |||||||||||||||
| CREATE TRANSFORM | |||||||||||||||
| DO statement for pl/perl | |||||||||||||||
| DO statement for pl/pgsql | |||||||||||||||
| EXCEPTION support in PL/pgSQL | |||||||||||||||
| EXECUTE USING in PL/pgSQL | |||||||||||||||
| FOREACH IN ARRAY in pl/pgsql | |||||||||||||||
| IN/OUT/INOUT parameters for pl/pgsql and PL/SQL | |||||||||||||||
| Named parameters | |||||||||||||||
| Non-superuser language creation | |||||||||||||||
| pl/pgsql installed by default | |||||||||||||||
| Polymorphic functions | |||||||||||||||
| Python 3 support for pl/python | |||||||||||||||
| Qualified function parameters | |||||||||||||||
| Query parallelism for RETURN QUERY | |||||||||||||||
| RETURN QUERY in pl/pgsql | |||||||||||||||
| ROWS and COST specification for functions | |||||||||||||||
| Scrollable and updatable cursor support for pl/pgsql | |||||||||||||||
| SQLERRM/SQLSTATE for pl/pgsql | |||||||||||||||
| Unicode object support in PL/python | |||||||||||||||
| User defined exceptions | |||||||||||||||
| Validator function for pl/perl |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CREATE EXTENSION .. CASCADE | |||||||||||||||
| Extension Installation | |||||||||||||||
| Trusted Extensions |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Built-in, platform independent immutable collation | |||||||||||||||
| casefold | |||||||||||||||
| Column-level collation support | |||||||||||||||
| Database level Collation | |||||||||||||||
| Default ICU collations for clusters/databases | |||||||||||||||
| EUC_JIS_2004/ SHIFT_JIS_2004 support | |||||||||||||||
| ICU collations | |||||||||||||||
| LIKE comparisons for nondeterministic collations | |||||||||||||||
| Multibyte encoding support, incl. UTF8 | |||||||||||||||
| Multiple language support | |||||||||||||||
| Nondeterministic collations | |||||||||||||||
| pg_unicode_fast collation | |||||||||||||||
| Unicode string literals and identifiers | |||||||||||||||
| UTF8 support on Windows |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pgbench | |||||||||||||||
| pg_combinebackup | |||||||||||||||
| pg_createsubscriber | |||||||||||||||
| pg_prewarm | |||||||||||||||
| pg_rewind | |||||||||||||||
| pg_standby | |||||||||||||||
| pg_upgrade | |||||||||||||||
| pg_waldump | |||||||||||||||
| pg_walsummary | |||||||||||||||
| pg_xlogdump | |||||||||||||||
| psql \bind | |||||||||||||||
| psql \dconfig | |||||||||||||||
| psql pipeline queries | |||||||||||||||
| psql named prepared statements | |||||||||||||||
| Version aware psql |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Full SSL support | |||||||||||||||
| IPv6 Support | |||||||||||||||
| V2 client protocol | |||||||||||||||
| V3 client protocol |
| 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Microsoft Visual C++ Support | |||||||||||||||
| Native Windows Port | |||||||||||||||
| Spinlock support for the SuperH hardware platform | |||||||||||||||
| Sun Studio compiler on Linux | |||||||||||||||
| Windows x64 support |