Backend
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| 64-bit large objects | Yes | Yes | Yes | Yes | Yes | Yes |
| Advisory locks | Yes | Yes | Yes | Yes | Yes | Yes |
| Autovacuum enabled by default | Yes | Yes | Yes | Yes | Yes | Yes |
| Custom background workers | Yes | Yes | Yes | Yes | Yes | Yes |
| Disk based FSM | Yes | Yes | Yes | Yes | Yes | Yes |
| Dollar Quoting | Yes | Yes | Yes | Yes | Yes | Yes |
| Dynamic Background Workers | Yes | Yes | Yes | Yes | Yes | Yes |
| EXPLAIN (BUFFERS) support | Yes | Yes | Yes | Yes | Yes | Yes |
| Full code coverage generation support | Yes | Yes | Yes | Yes | Yes | Yes |
| Holdable cursors | Yes | Yes | Yes | Yes | Yes | Yes |
| Integrated autovacuum daemon | Yes | Yes | Yes | Yes | Yes | Yes |
| Loadable plugin infrastructure for monitoring the planner | Yes | Yes | Yes | Yes | Yes | Yes |
| Multiple autovacuum workers | Yes | Yes | Yes | Yes | Yes | Yes |
| Named restore points | Yes | Yes | Yes | Yes | Yes | Yes |
| Payload support for LISTEN/NOTIFY | Yes | Yes | Yes | Yes | Yes | Yes |
| Prefix support for text search synonym dictionary | Yes | Yes | Yes | Yes | Yes | Yes |
| Savepoints | Yes | Yes | Yes | Yes | Yes | Yes |
| Serializable Snapshot Isolation | Yes | Yes | Yes | Yes | Yes | Yes |
| SQLDA support for ECPG | Yes | Yes | Yes | Yes | Yes | Yes |
| SQL-standard information schema | Yes | Yes | Yes | Yes | Yes | Yes |
| Support for anonymous shared memory | Yes | Yes | Yes | Yes | Yes | Yes |
| Two Phase commit | Yes | Yes | Yes | Yes | Yes | Yes |
| Txid functions | Yes | Yes | Yes | Yes | Yes | Yes |
| UNNEST/array_agg | Yes | Yes | Yes | Yes | Yes | Yes |
| Updateable cursors | Yes | Yes | Yes | Yes | Yes | Yes |
| Version aware psql | Yes | Yes | Yes | Yes | Yes | Yes |
| Visibility map | Yes | Yes | Yes | Yes | Yes | Yes |
| XML, JSON and YAML output for EXPLAIN | Yes | Yes | Yes | Yes | Yes | Yes |
Data Types, Functions, & Operators
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Arrays of compound types | Yes | Yes | Yes | Yes | Yes | Yes |
| Array support | Yes | Yes | Yes | Yes | Yes | Yes |
| ENUM data type | Yes | Yes | Yes | Yes | Yes | Yes |
| GUID/UUID data type | Yes | Yes | Yes | Yes | Yes | Yes |
| Improved set of JSON functions and operators | Yes | Yes | Yes | Yes | Yes | Yes |
| IS0 8601 interval syntax | Yes | Yes | Yes | Yes | Yes | Yes |
| JSONB data type | Yes | Yes | Yes | Yes | Yes | Yes |
| JSONB-modifying operators and functions | Yes | Yes | Yes | Yes | Yes | No |
| JSON data type | Yes | Yes | Yes | Yes | Yes | Yes |
| macaddr8 data type | Yes | Yes | Yes | No | No | No |
| NULLs in Array | Yes | Yes | Yes | Yes | Yes | Yes |
| Phrase search | Yes | Yes | Yes | Yes | No | No |
| Range types | Yes | Yes | Yes | Yes | Yes | Yes |
| smallserial type | Yes | Yes | Yes | Yes | Yes | Yes |
| Type modifier support | Yes | Yes | Yes | Yes | Yes | Yes |
| XML data type | Yes | Yes | Yes | Yes | Yes | Yes |
Indexing & Constraints
SQL
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Common Table Expressions & Recursive Queries | Yes | Yes | Yes | Yes | Yes | Yes |
| COPY FROM … WHERE | Yes | No | No | No | No | No |
| GROUPING SETS, CUBE and ROLLUP support | Yes | Yes | Yes | Yes | Yes | No |
| INSERT … ON CONFLICT DO NOTHING/UPDATE | Yes | Yes | Yes | Yes | Yes | No |
| INSERT/UPDATE/DELETE RETURNING | Yes | Yes | Yes | Yes | Yes | Yes |
| LATERAL clause | Yes | Yes | Yes | Yes | Yes | Yes |
| Multiple input aggregates | Yes | Yes | Yes | Yes | Yes | Yes |
| Multirow VALUES | Yes | Yes | Yes | Yes | Yes | Yes |
| ORDER BY NULLS FIRST/LAST | Yes | Yes | Yes | Yes | Yes | Yes |
| Row-wise comparison | Yes | Yes | Yes | Yes | Yes | Yes |
| SELECT FOR NO KEY UPDATE/SELECT FOR KEY SHARE lock modes | Yes | Yes | Yes | Yes | Yes | Yes |
| SQL/JSON path expressions | Yes | No | No | No | No | No |
| SQL standard interval handling | Yes | Yes | Yes | Yes | Yes | Yes |
| TABLE statement | Yes | Yes | Yes | Yes | Yes | Yes |
| Window functions | Yes | Yes | Yes | Yes | Yes | Yes |
| WITHIN GROUP clause | Yes | Yes | Yes | Yes | Yes | Yes |
| WITH ORDINALITY clause | Yes | Yes | Yes | Yes | Yes | Yes |
| Writable Common Table Expressions | Yes | Yes | Yes | Yes | Yes | Yes |
Data Definition Language (DDL)
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| ALTER object IF EXISTS | Yes | Yes | Yes | Yes | Yes | Yes |
| ALTER TABLE … ADD UNIQUE/PRIMARY KEY USING INDEX | Yes | Yes | Yes | Yes | Yes | Yes |
| ALTER TABLE … SET LOGGED / UNLOGGED | Yes | Yes | Yes | Yes | Yes | No |
| Changing column types (ALTER TABLE .. ALTER COLUMN TYPE) | Yes | Yes | Yes | Yes | Yes | Yes |
| CREATE ACCESS METHOD | Yes | No | No | No | No | No |
| CREATE TABLE … (LIKE) with foreign tables, views and composite types | Yes | Yes | Yes | Yes | Yes | Yes |
| DROP object IF EXISTS | Yes | Yes | Yes | Yes | Yes | Yes |
| MVCC safe CLUSTER | Yes | Yes | Yes | Yes | Yes | Yes |
| ON COMMIT clause for CREATE TEMPORARY TABLE | Yes | Yes | Yes | Yes | Yes | Yes |
| REINDEX CONCURRENTLY | Yes | No | No | No | No | No |
| Stored Generated Columns | Yes | No | No | No | No | No |
| Typed tables | Yes | Yes | Yes | Yes | Yes | Yes |
Performance
Partitioning & Inheritance
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Declarative table partitioning | Yes | Yes | Yes | No | No | No |
| Default Partition | Yes | Yes | No | No | No | No |
| Foreign Key references for partitioned tables | Yes | No | No | No | No | No |
| Foreign table inheritance | Yes | Yes | Yes | Yes | Yes | No |
| Partitioning by a hash key | Yes | Yes | No | No | No | No |
| Support for PRIMARY KEY, FOREIGN KEY, indexes, and triggers on partitioned tables | Yes | Yes | No | No | No | No |
| UPDATE on a partition key | Yes | Yes | No | No | No | No |
Views & Materialized Views
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Materialized Views | Yes | Yes | Yes | Yes | Yes | Yes |
| Materialized views with concurrent refresh | Yes | Yes | Yes | Yes | Yes | Yes |
| Temporary VIEWs | Yes | Yes | Yes | Yes | Yes | Yes |
| Updatable views | Yes | Yes | Yes | Yes | Yes | Yes |
| WITH CHECK clause | Yes | Yes | Yes | Yes | Yes | Yes |
Backup, Restore, Data Integrity, & Replication
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Cascading streaming replication | Yes | Yes | Yes | Yes | Yes | Yes |
| Checksum on data pages | Yes | Yes | Yes | Yes | Yes | Yes |
| Enable/Disable page checksums in an offline cluster | Yes | No | No | No | No | No |
| Generic WAL facility | Yes | Yes | Yes | Yes | No | No |
| Hot Standby | Yes | Yes | Yes | Yes | Yes | Yes |
| Logical Replication | Yes | Yes | Yes | No | No | No |
| min_wal_size / max_wal_size | Yes | Yes | Yes | Yes | Yes | No |
| Multiple synchronous standbys | Yes | Yes | Yes | Yes | No | No |
| Parallel pg_dump | Yes | Yes | Yes | Yes | Yes | Yes |
| pg_basebackup tool | Yes | Yes | Yes | Yes | Yes | Yes |
| pg_receivewal (formerly pg_receivexlog) | Yes | Yes | Yes | Yes | Yes | Yes |
| Point-in-Time Recovery | Yes | Yes | Yes | Yes | Yes | Yes |
| Quorum commit for synchronous replication | Yes | Yes | Yes | No | No | No |
| remote_apply mode | Yes | Yes | Yes | Yes | No | No |
| Replication Slots | Yes | Yes | Yes | Yes | Yes | Yes |
| Streaming-only cascading replication | Yes | Yes | Yes | Yes | Yes | Yes |
| Streaming Replication | Yes | Yes | Yes | Yes | Yes | Yes |
| Synchronous replication | Yes | Yes | Yes | Yes | Yes | Yes |
| Time-delayed Standbys | Yes | Yes | Yes | Yes | Yes | Yes |
| Warm Standby | Yes | Yes | Yes | Yes | Yes | Yes |
Data Import & Export
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| COPY from/to STDIN/STDOUT | Yes | Yes | Yes | Yes | Yes | Yes |
| COPY with arbitrary SELECT | Yes | Yes | Yes | Yes | Yes | Yes |
| CSV support for COPY | Yes | Yes | Yes | Yes | Yes | Yes |
Configuration Management
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| ALTER SYSTEM | Yes | Yes | Yes | Yes | Yes | Yes |
| Fractional input for “integer” values | Yes | No | No | No | No | No |
| Per user/database server configuration settings | Yes | Yes | Yes | Yes | Yes | Yes |
| pg_config system view | Yes | Yes | Yes | Yes | No | No |
Security
Foreign Data Wrappers
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Foreign data wrappers | Yes | Yes | Yes | Yes | Yes | Yes |
| Foreign Tables | Yes | Yes | Yes | Yes | Yes | Yes |
| IMPORT FOREIGN SCHEMA | Yes | Yes | Yes | Yes | Yes | No |
| postgres_fdw pushdown | Yes | Yes | Yes | Yes | No | No |
| PostgreSQL Foreign Data Wrapper | Yes | Yes | Yes | Yes | Yes | Yes |
| Writable Foreign Data Wrappers | Yes | Yes | Yes | Yes | Yes | Yes |
Custom Functions, Stored Procedures, & Triggers
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| ALTER TABLE ENABLE/DISABLE TRIGGER | Yes | Yes | Yes | Yes | Yes | Yes |
| ALTER TABLE / ENABLE REPLICA TRIGGER/RULE | Yes | Yes | Yes | Yes | Yes | Yes |
| CALL syntax for executing procedures | Yes | Yes | No | No | No | No |
| Column level triggers | Yes | Yes | Yes | Yes | Yes | Yes |
| CREATE PROCEDURE syntax for SQL stored procedures | Yes | Yes | No | No | No | No |
| Event triggers | Yes | Yes | Yes | Yes | Yes | Yes |
| FILTER clause for aggregate functions | Yes | Yes | Yes | Yes | Yes | Yes |
| Function argument names | Yes | Yes | Yes | Yes | Yes | Yes |
| ORDER BY support within aggregates | Yes | Yes | Yes | Yes | Yes | Yes |
| Per function GUC settings | Yes | Yes | Yes | Yes | Yes | Yes |
| Per function statistics | Yes | Yes | Yes | Yes | Yes | Yes |
| RETURN QUERY EXECUTE | Yes | Yes | Yes | Yes | Yes | Yes |
| RETURNS TABLE | Yes | Yes | Yes | Yes | Yes | Yes |
| Statement level triggers | Yes | Yes | Yes | Yes | Yes | Yes |
| Statement level TRUNCATE triggers | Yes | Yes | Yes | Yes | Yes | Yes |
| Triggers on views | Yes | Yes | Yes | Yes | Yes | Yes |
| Variadic functions | Yes | Yes | Yes | Yes | Yes | Yes |
| WHEN clause for CREATE TRIGGER | Yes | Yes | Yes | Yes | Yes | Yes |
Procedural Languages
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| CASE in pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| CONTINUE statement for PL/pgSQL | Yes | Yes | Yes | Yes | Yes | Yes |
| CREATE TRANSFORM | Yes | Yes | Yes | Yes | Yes | No |
| DO statement for pl/perl | Yes | Yes | Yes | Yes | Yes | Yes |
| DO statement for pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| EXCEPTION support in PL/pgSQL | Yes | Yes | Yes | Yes | Yes | Yes |
| EXECUTE USING in PL/pgSQL | Yes | Yes | Yes | Yes | Yes | Yes |
| FOREACH IN ARRAY in pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| IN/OUT/INOUT parameters for pl/pgsql and PL/SQL | Yes | Yes | Yes | Yes | Yes | Yes |
| Named parameters | Yes | Yes | Yes | Yes | Yes | Yes |
| Non-superuser language creation | Yes | Yes | Yes | Yes | Yes | Yes |
| Number of function arguments increased to 100 | Yes | Yes | Yes | Yes | Yes | Yes |
| pl/pgsql installed by default | Yes | Yes | Yes | Yes | Yes | Yes |
| Polymorphic functions | Yes | Yes | Yes | Yes | Yes | Yes |
| Python 3 support for pl/python | Yes | Yes | Yes | Yes | Yes | Yes |
| Qualified function parameters | Yes | Yes | Yes | Yes | Yes | Yes |
| RETURN QUERY in pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| ROWS and COST specification for functions | Yes | Yes | Yes | Yes | Yes | Yes |
| Scrollable and updatable cursor support for pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| SQLERRM/SQLSTATE for pl/pgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| Unicode object support in PL/python | Yes | Yes | Yes | Yes | Yes | Yes |
| User defined exceptions | Yes | Yes | Yes | Yes | Yes | Yes |
| Validator function for pl/perl | Yes | Yes | Yes | Yes | Yes | Yes |
Extensions
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| CREATE EXTENSION .. CASCADE | Yes | Yes | Yes | Yes | No | No |
| Extension Installation | Yes | Yes | Yes | Yes | Yes | Yes |
Internationalisation
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Column-level collation support | Yes | Yes | Yes | Yes | Yes | Yes |
| Database level Collation | Yes | Yes | Yes | Yes | Yes | Yes |
| EUC_JIS_2004/ SHIFT_JIS_2004 support | Yes | Yes | Yes | Yes | Yes | Yes |
| ICU collations | Yes | Yes | Yes | No | No | No |
| Multibyte encoding support, incl. UTF8 | Yes | Yes | Yes | Yes | Yes | Yes |
| Multiple language support | Yes | Yes | Yes | Yes | Yes | Yes |
| Nondeterministic collations | Yes | No | No | No | No | No |
| Unicode string literals and identifiers | Yes | Yes | Yes | Yes | Yes | Yes |
| UTF8 support on Windows | Yes | Yes | Yes | Yes | Yes | Yes |
Additional Modules (contrib)
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| contrib/adminpack | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/auth_delay | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/autoexplain | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/btree_gin | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/btree_gist | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/citext | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/dblink | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/dblink asyncronous notification support | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/file_fdw | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/fuzzystrmatch | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/hstore | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/hstore improvements | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/intarray | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/isn (ISBN) | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/ltree | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pageinspect | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/passwordcheck | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pgbench | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_buffercache | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_freespacemap | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_rewind | Yes | Yes | Yes | Yes | Yes | No |
| contrib/pg_standby | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_stat_statements | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_stat_statements improvements | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pgstattuple | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_trgm | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_trgm regular expressions indexing | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_upgrade | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/pg_xlogdump | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/seg | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/sepgsql | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/sslinfo | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/tablefunc | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/tcn | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/tsearch2 compat wrapper | Obsolete | Obsolete | Obsolete | Yes | Yes | Yes |
| contrib/unaccent | Yes | Yes | Yes | Yes | Yes | Yes |
| contrib/uuid-ossp | Yes | Yes | Yes | Yes | Yes | Yes |
| KNN support for CUBE | Yes | Yes | Yes | Yes | No | No |
Network
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Full SSL support | Yes | Yes | Yes | Yes | Yes | Yes |
| IPv6 Support | Yes | Yes | Yes | Yes | Yes | Yes |
| V3 client protocol | Yes | Yes | Yes | Yes | Yes | Yes |
Platforms
| 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | |
|---|---|---|---|---|---|---|
| Microsoft Visual C++ Support | Yes | Yes | Yes | Yes | Yes | Yes |
| Native Windows Port | Yes | Yes | Yes | Yes | Yes | Yes |
| Spinlock support for the SuperH hardware platform | Yes | Yes | Yes | Yes | Yes | Yes |
| Sun Studio compiler on Linux | Yes | Yes | Yes | Yes | Yes | Yes |
| Windows x64 support | Yes | Yes | Yes | Yes | Yes | Yes |









0 responses on "Features Matrix"