postgresql历史版本特性

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

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Advisory locks Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Custom background workers Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Disk based FSM Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Dynamic Background Workers Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
EXPLAIN (BUFFERS) support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
EXPLAIN (WAL) support Yes Yes Yes No No No No No No No No No No No No No No
"jsonlog" logging format Yes No No No No No No No No No No No No No No No No
Loadable plugin infrastructure for monitoring the planner Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Payload support for LISTEN/NOTIFY Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Server statistics in shared memory Yes No No No No No No No No No No No No No No No No
SQL-standard information schema Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Support for anonymous shared memory Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
XML, JSON and YAML output for EXPLAIN Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No

Data Types, Functions, & Operators

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Array support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ENUM data type Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
GUID/UUID data type Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
macaddr8 data type Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Multiranges Yes Yes No No No No No No No No No No No No No No No
NULLs in Array Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Phrase search Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Range types Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
smallserial type Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Type modifier support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
XML data type Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No

Indexing & Constraints

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

SQL

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 Yes Yes Yes No No No No No No No No No No No No No No
GROUPING SETS, CUBE and ROLLUP support Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
INSERT/UPDATE/DELETE RETURNING Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
LATERAL clause Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
MERGE Yes No No No No No No No No No No No No No No No No
Multirow VALUES Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
ORDER BY NULLS FIRST/LAST Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
range_agg range type aggregation function Yes No No No No No No No No No No No No No No No No
Recursive Queries Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
regexp_count, regexp_instr, regexp_like Yes No No No No No No No No No No No No No No No No
Row-wise comparison Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
SQL standard interval handling Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
TABLE statement Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
unnest/array_agg Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Upsert (INSERT ... ON CONFLICT DO ...) Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Window functions Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
WITHIN GROUP clause Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
WITH ORDINALITY clause Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
WITH Queries (Common Table Expressions) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Writable WITH Queries (Common Table Expressions) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

Data Definition Language (DDL)

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

Performance

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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Asynchronous Commit Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Automatic plan invalidation Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Background Checkpointer Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Background Writer Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Base backup throttling Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
CREATE STATISTICS - most-common values (MCV) statistics Yes Yes Yes Yes No No No No No No No No No No No No No
CREATE STATISTICS - multicolumn Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
CREATE STATISTICS - "OR" and "IN/ANY" statistics Yes Yes Yes No No No No No No No No No No No No No No
Cross datatype hashing support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Distributed checkpointing Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Foreign keys marked as NOT VALID Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Frozen page map Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Full Text Search Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Hash aggregation can use disk Yes Yes Yes No No No No No No No No No No No No No No
Hashing support for DISTINCT/UNION/INTERSECT/EXCEPT Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Heap Only Tuples (HOT) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Improved performance for sorts exceeding working memory Yes No No No No No No No No No No No No No No No No
Improved window function performance Yes No No No No No No No No No No No No No No No No
Incremental sort Yes Yes Yes No No No No No No No No No No No No No No
Incremental sort for window functions Yes Yes No No No No No No No No No No No No No No No
Inlined WITH Queries (Common Table Expressions) Yes Yes Yes Yes No No No No No No No No No No No No No
Inlining of SQL-functions Yes Yes 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 Yes Yes Yes Yes Yes No No No No No No No No No No No No
LZ4 compression for TOAST tables Yes Yes No No No No No No No No No No No No No No No
Multi-core scalability for read-only workloads Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Multiple temporary tablespaces Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Outer Join reordering Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Parallel bitmap heap scans Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Parallel full table scans (sequential scans) Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel hash joins Yes Yes Yes Yes Yes No No No No No No No No No No No No
Parallel JOIN, aggregate Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel merge joins Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Parallel query Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Parallel "SELECT DISTINCT" Yes No No No No No No No No No No No No No No No No
Partial sort capability (top-n sorting) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Query pipelining Yes Yes No No No No No No No No No No No No No No No
Reduced lock levels for ALTER TABLE commands Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
SELECT ... FOR UPDATE/SHARE NOWAIT Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Set costs specific to TABLESPACEs Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Shared row level locking Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
SKIP LOCKED clause Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Synchronized sequential scanning Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
TABLESAMPLE clause Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Tablespaces Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Unlogged tables Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
WAL Buffer auto-tuning Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

JSON

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
JSONB data type Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
JSONB-modifying operators and functions Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
JSONB Subscripting Yes Yes No No No No No No No No No No No No No No No
JSON data type Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
SQL/JSON: datetime() Yes Yes Yes No No No No No No No No No No No No No No
SQL/JSON path expressions Yes Yes Yes Yes No No No No No No No No No No No No No

Partitioning & Inheritance

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 Yes Yes Yes Yes No No No No No No No No No No No No No
Declarative table partitioning Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Default Partition Yes Yes Yes Yes Yes No No No No No No No No No No No No
Foreign Key references for partitioned tables Yes Yes Yes Yes No No No No No No No No No No No No No
Foreign table inheritance Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Partitioning by a hash key Yes Yes Yes Yes Yes No No No No No No No No No No No No
Partition pruning during query execution Yes Yes 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 Yes Yes Yes Yes Yes No No No No No No No No No No No No
Table Partitioning Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
UPDATE on a partition key Yes Yes Yes Yes Yes No No No No No No No No No No No No

Views & Materialized Views

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

Replication

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 SUBSCRIPTION ... SKIP Yes No No No No No No No No No No No No No No No No
Cascading streaming replication Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Configure max WAL retention for replication slots Yes Yes Yes No No No No No No No No No No No No No No
Logical replication Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Logical replication column lists Yes No No No No No No No No No No No No No No No No
Logical replication for partitioned tables Yes Yes Yes No No No No No No No No No No No No No No
Logical replication publish all tables in schema Yes No No No No No No No No No No No No No No No No
Logical replication row filtering Yes No No No No No No No No No No No No No No No No
Logical replication stream in-progress transactions Yes Yes No No No No No No No No No No No No No No No
Logical replication subscriber can disable on error Yes No No No No No No No No No No No No No No No No
Quorum commit for synchronous replication Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
Replication Slots Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Streaming-only cascading replication Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Streaming Replication Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Synchronous replication Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No

Backup, Restore, & Data Integrity

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
Archive modules Yes No No No No No No No No No No No No No No No No
Checksum on data pages Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Enable/Disable page checksums in an offline cluster Yes Yes Yes Yes No No No No No No No No No No No No No
Generic WAL facility Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Hot Standby Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
lz4 and Zstandard (zstd) compression for WAL full page writes Yes No No No No No No No No No No No No No No No No
min_wal_size / max_wal_size Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Multiple synchronous standbys Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Named restore points Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Parallel pg_dump Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Parallel restore Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
pg_basebackup client decompression Yes No No No No No No No No No No No No No No No No
pg_basebackup server-side compression Yes No No No No No No No No No No No No No No No No
pg_basebackup tool Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
pg_receivewal (formerly pg_receivexlog) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
Point-in-Time Recovery Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Pre-fetch WAL during recovery Yes No No No No No No No No No No No No No No No No
remote_apply mode Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
Time-delayed Standbys Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Verify backup integrity (pg_verifybackup) Yes Yes Yes No No No No No No No No No No No No No No
Warm Standby Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No

Data Import & Export

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

Configuration Management

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

Security

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

Transactions and Visibility

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Savepoints Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Serializable Snapshot Isolation Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Two Phase commit Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Updatable cursors Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No

VACUUM and Maintenance

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 Yes Yes Yes No No No No No No No No No No No No No No
Integrated autovacuum daemon Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Parallelized VACUUM for Indexes Yes Yes Yes No No No No No No No No No No No No No No
Parallel vacuumdb jobs Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Vacuum "emergency mode" Yes Yes No No No No No No No No No No No No No No No
Visibility Map for Vacuuming Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No

Foreign Data Wrappers

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 Yes Yes Yes No No No No No No No No No No No No No No
Foreign data wrapper query parallelism Yes Yes No No No No No No No No No No No No No No No
Foreign data wrappers Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
Foreign Tables Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
IMPORT FOREIGN SCHEMA Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
Import foreign table partitions Yes Yes No No No No No No No No No No No No No No No
Parallel query execution on remote databases Yes Yes No No No No No No No No No No No No No No No
postgres_fdw parallel commit Yes No No No No No No No No No No No No No No No No
postgres_fdw pushdown Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
PostgreSQL Foreign Data Wrapper Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
Writable Foreign Data Wrappers Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No

Custom Functions, Stored Procedures, & Triggers

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

Procedural Languages

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

Extensions

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

Internationalisation

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

Client Applications

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
pg_prewarm Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
pg_rewind Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No
pg_standby Obsolete Obsolete Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
pg_upgrade Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
pg_waldump Yes Yes Yes Yes Yes Yes No No No No No No No No No No No
pg_xlogdump Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes Yes Yes No No No No No No No
psql \dconfig Yes No No No No No No No No No No No No No No No No
Version aware psql Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No

Additional Modules (contrib)

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
adminpack Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
auth_delay Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
auto_explain Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
btree_gin Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
btree_gist Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
citext Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
dblink Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
dblink asyncronous notification support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
file_fdw Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
fuzzystrmatch Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
hstore Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
intarray Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
isn (ISBN) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
KNN support for CUBE Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
ltree Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
pageinspect Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
passwordcheck Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
pg_buffercache Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
pg_freespacemap Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
pg_stat_statements Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
pg_stat_statements improvements Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
pgstattuple Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
pg_trgm Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
pg_trgm regular expressions indexing Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No
pg_walinspect Yes No No No No No No No No No No No No No No No No
seg Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sepgsql Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No
sslinfo Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
tablefunc Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
tcn Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No
tsearch2 compatibility wrapper Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
unaccent Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
uuid-ossp Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
xml2 Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Obsolete Yes Yes Yes

Network

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

Platforms

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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Native Windows Port Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Spinlock support for the SuperH hardware platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
Sun Studio compiler on Linux Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
Windows x64 support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
posted @ 2022-10-26 15:52  Ronald Hu  阅读(96)  评论(0编辑  收藏  举报