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.
17 | 16 | 15 | 14 | 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 | |||||||||||||||||||
XML data type |
17 | 16 | 15 | 14 | 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 | |||||||||||||||||||
Typed tables |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 | |||||||||||||||||||
Column-level collation support | |||||||||||||||||||
Database level Collation | |||||||||||||||||||
Default ICU collations for clusters/databases | |||||||||||||||||||
EUC_JIS_2004/ SHIFT_JIS_2004 support | |||||||||||||||||||
ICU collations | |||||||||||||||||||
Multibyte encoding support, incl. UTF8 | |||||||||||||||||||
Multiple language support | |||||||||||||||||||
Nondeterministic collations | |||||||||||||||||||
Unicode string literals and identifiers | |||||||||||||||||||
UTF8 support on Windows |
17 | 16 | 15 | 14 | 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 | |||||||||||||||||||
Version aware psql |
17 | 16 | 15 | 14 | 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 |
17 | 16 | 15 | 14 | 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 |