Feature Matrix

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.

Groups

Filter by version

Backend

  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
64-bit large objects No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Advisory locks No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Autovacuum enabled by default No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Custom background workers No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Disk based FSM No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Dollar Quoting No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Dynamic Background Workers No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
EXPLAIN (BUFFERS) support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
EXPLAIN (WAL) support No No No Yes No No No No No No No No No No No No No No
Holdable cursors No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Inserted data can trigger autovacuum No No No Yes No No No No No No No No No No No No No No
Integrated autovacuum daemon No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Loadable plugin infrastructure for monitoring the planner No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Multiple autovacuum workers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Named restore points No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Parallelized VACUUM for Indexes No No No Yes No No No No No No No No No No No No No No
Parallel vacuumdb jobs No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Payload support for LISTEN/NOTIFY No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Prefix support for text search synonym dictionary No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Savepoints No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Serializable Snapshot Isolation No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
SQLDA support for ECPG No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
SQL-standard information schema No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Support for anonymous shared memory No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Two Phase commit No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
unnest/array_agg No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Updateable cursors No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Version aware psql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Visibility Map for Vacuuming No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
XML, JSON and YAML output for EXPLAIN No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No

Data Types, Functions, & Operators

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Array support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ENUM data type No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
GUID/UUID data type No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Improved set of JSON functions and operators No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
JSONB data type No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
JSONB-modifying operators and functions No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
JSON data type No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
macaddr8 data type No No No Yes Yes Yes Yes No No No No No No No No No No No
NULLs in Array No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Phrase search No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Range types No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
smallserial type No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
SQL/JSON: datetime() No No No Yes No No No No No No No No No No No No No No
Type modifier support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
XML data type No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No

Indexing & Constraints

  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
Block-range (BRIN) indexes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
B-tree deduplication No No No Yes No No No No No No No No No No No No No No
Concurrent GiST indexes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Covering Indexes for B-trees (INCLUDE) No No No Yes Yes Yes No No No No No No No No No No No No
Covering indexes for GiST (INCLUDE) No No No Yes Yes No No No No No No No No No No No No No
Deferrable unique constraints No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Exclusion constraints No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
GIN (Generalized Inverted Index) Indexes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
GIN indexes partial match No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
GIN Index performance and size improvements No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
GiST (Generalized Search Tree) Indexes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Indexes on expressions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Index-only scans No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Index-only scans on GiST No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Index support for IS NULL No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
In-memory Bitmap Indexes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
K-nearest neighbor SP-GiST Support No No No Yes Yes No No No No No No No No No No No No No
Non-blocking CREATE INDEX No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Parallel B-tree index scans No No No Yes Yes Yes Yes No No No No No No No No No No No
Parallelized CREATE INDEX for B-tree indexes No No No Yes Yes Yes No No No No No No No No No No No No
Space-Partitioned GiST (SP-GiST) Indexes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
SP-GiST indexes for range types No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
WAL support for hash indexes No No No Yes Yes Yes Yes No No No No No No No No No No No

SQL

  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
FETCH FIRST .. WITH TIES No No No Yes No No No No No No No No No No No No No No
GROUPING SETS, CUBE and ROLLUP support No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
INSERT/UPDATE/DELETE RETURNING No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
LATERAL clause No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Multirow VALUES No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
ORDER BY NULLS FIRST/LAST No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Recursive Queries No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Row-wise comparison No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
SELECT FOR NO KEY UPDATE/SELECT FOR KEY SHARE lock modes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
SQL/JSON path expressions No No No Yes Yes No No No No No No No No No No No No No
SQL standard interval handling No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
TABLE statement No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Upsert (INSERT ... ON CONFLICT DO ...) No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Window functions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
WITHIN GROUP clause No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
WITH ORDINALITY clause No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
WITH Queries (Common Table Expressions) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Writable WITH Queries (Common Table Expressions) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

Data Definition Language (DDL)

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
ALTER TABLE ... SET LOGGED / UNLOGGED No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Changing column types (ALTER TABLE .. ALTER COLUMN TYPE) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
CREATE ACCESS METHOD No No No Yes Yes No No No No No No No No No No No No No
CREATE TABLE ... (LIKE) with foreign tables, views and composite types No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
DROP object IF EXISTS No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
ON COMMIT clause for CREATE TEMPORARY TABLE No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
REINDEX CONCURRENTLY No No No Yes Yes No No No No No No No No No No No No No
Stored Generated Columns No No No Yes Yes No No No No No No No No No No No No No
Typed tables No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No

Performance

  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
Abbreviated Keys No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Accelerated partition pruning No No No Yes Yes No No No No No No No No No No No No No
Asynchronous Commit No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Automatic plan invalidation No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Background Checkpointer No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Background Writer No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Base backup throttling No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
CREATE STATISTICS - most-common values (MCV) statistics No No No Yes Yes No No No No No No No No No No No No No
CREATE STATISTICS - multicolumn No No No Yes Yes Yes Yes No No No No No No No No No No No
CREATE STATISTICS - "OR" and "IN/ANY" statistics No No No Yes No No No No No No No No No No No No No No
Cross datatype hashing support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Distributed checkpointing No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Foreign keys marked as NOT VALID No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Frozen page map No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Full Text Search No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Hash aggregation can use disk No No No Yes No No No No No No No No No No No No No No
Hashing support for DISTINCT/UNION/INTERSECT/EXCEPT No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Hashing support for FULL OUTER JOIN, LEFT OUTER JOIN and RIGHT OUTER JOIN No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Heap Only Tuples (HOT) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Incremental sort No No No Yes No No No No No No No No No No No No No No
Inlined WITH Queries (Common Table Expressions) No No No Yes Yes No No No No No No No No No No No No No
Inlining of SQL-functions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Just-in-Time (JIT) compilation for expression evaluation and tuple deforming No No No Yes Yes Yes No No No No No No No No No No No No
K-nearest neighbor GiST support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Multi-core scalability for read-only workloads No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Multiple temporary tablespaces No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Outer Join reordering No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Parallel bitmap heap scans No No No Yes Yes Yes Yes No No No No No No No No No No No
Parallel full table scans (sequential scans) No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel hash joins No No No Yes Yes Yes No No No No No No No No No No No No
Parallel JOIN, aggregate No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel merge joins No No No Yes Yes Yes Yes No No No No No No No No No No No
Parallel query No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel restore No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Partial sort capability (top-n sorting) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Partition pruning during query execution No No No Yes Yes Yes No No No No No No No No No No No No
pg_prewarm No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Reduced lock levels for ALTER TABLE commands No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
SELECT ... FOR UPDATE/SHARE NOWAIT No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Set costs specific to TABLESPACEs No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Shared row level locking No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
SKIP LOCKED clause No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Synchronized sequential scanning No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
TABLESAMPLE clause No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Tablespaces No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Unlogged tables No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
WAL Buffer auto-tuning No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

Partitioning & Inheritance

  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
Declarative table partitioning No No No Yes Yes Yes Yes No No No No No No No No No No No
Default Partition No No No Yes Yes Yes No No No No No No No No No No No No
Foreign Key references for partitioned tables No No No Yes Yes No No No No No No No No No No No No No
Foreign table inheritance No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Logical Replication for Partitioned Tables No No No Yes No No No No No No No No No No No No No No
Partitioning by a hash key No No No Yes Yes Yes No No No No No No No No No No No No
Support for PRIMARY KEY, FOREIGN KEY, indexes, and triggers on partitioned tables No No No Yes Yes Yes No No No No No No No No No No No No
Table Partitioning No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
UPDATE on a partition key No No No Yes Yes Yes No No No No No No No No No No No No

Views & Materialized Views

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Materialized views with concurrent refresh No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Temporary VIEWs No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Updatable views No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
WITH CHECK clause No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No

Backup, Restore, Data Integrity, & Replication

  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
Cascading streaming replication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Checksum on data pages No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Configure max WAL retention for replication slots No No No Yes No No No No No No No No No No No No No No
Enable/Disable page checksums in an offline cluster No No No Yes Yes No No No No No No No No No No No No No
Generic WAL facility No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Hot Standby No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Logical Replication No No No Yes Yes Yes Yes No No No No No No No No No No No
min_wal_size / max_wal_size No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
Multiple synchronous standbys No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel pg_dump No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
pg_basebackup tool No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
pg_receivewal (formerly pg_receivexlog) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Point-in-Time Recovery No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Quorum commit for synchronous replication No No No Yes Yes Yes Yes No No No No No No No No No No No
remote_apply mode No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Replication Slots No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Streaming-only cascading replication No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Streaming Replication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Synchronous replication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Time-delayed Standbys No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Verify backup integrity (pg_verifybackup) No No No Yes No No No No No No No No No No No No No No
Warm Standby No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No

Data Import & Export

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
COPY FROM ... WHERE No No No Yes Yes No No No No No No No No No No No No No
COPY with arbitrary SELECT No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
CSV support for COPY No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Configuration Management

  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 No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Fractional input for "integer" values No No No Yes Yes No No No No No No No No No No No No No
Per user/database server configuration settings No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
pg_config system view No No No Yes Yes Yes Yes Yes No No No No No No No No No No

Security

  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
Channel binding for SCRAM authentication No No No Yes Yes Yes No No No No No No No No No No No No
Client can require SCRAM channel binding No No No Yes No No No No No No No No No No No No No No
Column level permissions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Default permissions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
GSSAPI client and server-side encryption No No No Yes Yes No No No No No No No No No No No No No
GSSAPI support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
krb5 authentication (without gssapi) No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes Yes Yes Yes Yes Yes Yes
Large object access controls No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
LDAP server discovery No No No Yes Yes No No No No No No No No No No No No No
Multifactor authentication via valid client SSL/TLS certificate No No No Yes Yes No No No No No No No No No No No No No
Native LDAP authentication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Native RADIUS authentication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Per user/database connection limits No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ROLES No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Row-Level Security No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
SCRAM-SHA-256 Authentication No No No Yes Yes Yes Yes No No No No No No No No No No No
Search+bind mode operation for LDAP authentication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
security_barrier option on views No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Security Service Provider Interface (SSPI) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
SSL certificate validation in libpq No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
SSL client certificate authentication No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
SSPI authentication via GSSAPI No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

Foreign Data Wrappers

  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
Certificate authentication with postgres_fdw No No No Yes No No No No No No No No No No No No No No
Foreign data wrappers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Foreign Tables No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
IMPORT FOREIGN SCHEMA No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
postgres_fdw pushdown No No No Yes Yes Yes Yes Yes No No No No No No No No No No
PostgreSQL Foreign Data Wrapper No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Writable Foreign Data Wrappers No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No

Custom Functions, Stored Procedures, & Triggers

  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 TABLE ENABLE/DISABLE TRIGGER No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ALTER TABLE / ENABLE REPLICA TRIGGER/RULE No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
CALL syntax for executing procedures No No No Yes Yes Yes No No No No No No No No No No No No
Column level triggers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
CREATE PROCEDURE syntax for SQL stored procedures No No No Yes Yes Yes No No No No No No No No No No No No
Event triggers No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
FILTER clause for aggregate functions No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
ORDER BY support within aggregates No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Per function GUC settings No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Per function statistics No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
RETURN QUERY EXECUTE No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
RETURNS TABLE No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Statement level triggers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Statement level TRUNCATE triggers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Triggers on views No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Variadic functions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
WHEN clause for CREATE TRIGGER No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No

Procedural Languages

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
CONTINUE statement for PL/pgSQL No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
CREATE TRANSFORM No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
DO statement for pl/perl No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
DO statement for pl/pgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
EXCEPTION support in PL/pgSQL No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
EXECUTE USING in PL/pgSQL No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
FOREACH IN ARRAY in pl/pgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
IN/OUT/INOUT parameters for pl/pgsql and PL/SQL No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Named parameters No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Non-superuser language creation No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
pl/pgsql installed by default No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Polymorphic functions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Python 3 support for pl/python No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Qualified function parameters No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
RETURN QUERY in pl/pgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
ROWS and COST specification for functions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Scrollable and updatable cursor support for pl/pgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
SQLERRM/SQLSTATE for pl/pgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Unicode object support in PL/python No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
User defined exceptions No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Validator function for pl/perl No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Extensions

  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 No No No Yes Yes Yes Yes Yes No No No No No No No No No No
Extension Installation No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Trusted Extensions No No No Yes No No No No No No No No No No No No No No

Internationalisation

  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
Column-level collation support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Database level Collation No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
EUC_JIS_2004/ SHIFT_JIS_2004 support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
ICU collations No No No Yes Yes Yes Yes No No No No No No No No No No No
Multibyte encoding support, incl. UTF8 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Multiple language support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Nondeterministic collations No No No Yes Yes No No No No No No No No No No No No No
Unicode string literals and identifiers No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
UTF8 support on Windows No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Additional Modules (contrib)

  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
contrib/adminpack No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
contrib/auth_delay No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
contrib/autoexplain No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
contrib/btree_gin No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
contrib/btree_gist No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/citext No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
contrib/dblink No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/dblink asyncronous notification support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
contrib/dbsize No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete
contrib/file_fdw No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
contrib/fuzzystrmatch No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/hstore No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
contrib/intarray No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/isn (ISBN) No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
contrib/ltree No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/pageinspect No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
contrib/passwordcheck No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
contrib/pg_autovacuum No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete
contrib/pgbench No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/pg_buffercache No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/pg_freespacemap No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
contrib/pg_rewind No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No
contrib/pg_standby No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
contrib/pg_stat_statements No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
contrib/pg_stat_statements improvements No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
contrib/pgstattuple No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/pg_trgm No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/pg_trgm regular expressions indexing No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
contrib/pg_upgrade No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
contrib/pg_xlogdump No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
contrib/seg No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/sepgsql No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
contrib/sslinfo No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
contrib/tablefunc No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
contrib/tcn No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
contrib/tsearch2 No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes
contrib/tsearch2 compat wrapper No No No Obsolete Obsolete Obsolete Obsolete Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
contrib/tsearch2 UTF8 support No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes No
contrib/unaccent No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
contrib/userlocks No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes
contrib/uuid-ossp No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
contrib/xml2 No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes Yes
KNN support for CUBE No No No Yes Yes Yes Yes Yes No No No No No No No No No No

Network

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
IPv6 Support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
V2 client protocol No No No Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete
V3 client protocol No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Platforms

  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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Native Windows Port No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Spinlock support for the SuperH hardware platform No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Sun Studio compiler on Linux No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Windows x64 support No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No