PostgreSQL 14

PostgreSQL 14 is the next major PostgreSQL release, currently under pre-release review.

Development work for PostgreSQL 14 began in June 2020. PostgreSQL 14 is likely to be released in late 2021.

Release schedule and pre-release test versions

Initial commit marking the start of PostgreSQL 14 development is d10b19e2 (2020-06-07).

CommitFests

Following CommitFests were for PostgreSQL 14 code submissions:

Backend changes

SPI changes

  • following functions added (commits ee895a65 and d5a83d79):
    • SPI_execute_extended()
    • SPI_cursor_parse_open()

Storage parameter changes

  • parallel_insert_enabled added (commit c8f78b61)

Vacuum changes

  • a vacuum following COPY FREEZE execution no longer needs to rewrite the entire table (commit 7db0cd21)
  • per-index statistics information displayed in autovacuum verbose logs (commit 5aed6a1f)
  • tuple compacting improvements (commit 19c60ad6)
  • unnecessary index vacuuming skipped (commit 5100010e)
  • index operations performed with the CONCURRENTLY option will be ignored (commit d9d07622)
  • wraparound failsafe functionality added (commit 1e55e7d1)

Source configuration

  • option --with-ssl added (commit fe61df7f)

Data type changes

General

jsonb

  • subscripting support added (commit 676887a3)

pg_lsn

  • +(pg_lsn,numeric) and -(pg_lsn,numeric) operators added (commit 9bae7e4c)

Operator changes

Removed:

  • factorial operators ! and !! (commit 76f412ab)
  • deprecated containment operators @ and ~ for built-in geometry data types (commit 2f70fdb0)
  • support for postfix (right-unary) operators removed (commit 1ed6b895)

Indexing changes

General

  • support for collation versioning added (initial commit 257836a7)
  • concurrent index creation can skip waits on other concurrent (re)index processes (commit c98763bf)
  • concurrent reindexing can skip waits on other concurrent (re)index processes (commit f9900df5)

btree indexes

  • "bottom-up deletion" for btree indexes (commit d168b666)

BRIN indexes

  • support for BRIN bloom indexes added (commit 77b88cd1)
  • support for BRIN minmax-multi indexes added (commit 77b88cd1)

SP-GiST indexes

  • support for INCLUDE columns added (commit 09c1c6ab)

Partitioning changes

  • partitions can be detatched concurrently (commit 71f4c8c6)

SQL changes

Modified:

System catalogue changes

Tables

General

  • primary keys and unique constraints added to system catalogue tables (commit dfb75e47)

Modified:

Views

Added:

Modified:

System function changes

Added:

Modified:

Removed:

Configuration changes

General:

Added:

Modified:

Removed:

Users / roles

Authentication changes

pg_hba.conf

  • authentication option clientcert no longer supports the options 0, 1 and no-verify (commit 253f1025)

Regular expression changes

  • \w now maps to [​[:word:]​​] (previously: [​[:alnum:]_]) and disallowed as range start/end in character classes (commit 2a0af7fe)
  • \D, \S and \W are now allowed within bracket expressions (commit 2a0af7fe)
  • handling of handling of regular expression back-references improved (commit 4aea704a)

Procedual language changes

PL/pgSQL

  • performance of repeated CALL invocations improved (commit ee895a65)

Replication changes

Streaming replication

Logical replication

  • data can be transferred in binary format (commit 9de77b54)
  • support for streaming of in-progress transactions added (commit 46482432)
  • output plugin API is now able to decode prepared transactions (commit 0aa8a01d)

Foreign data wrapper changes

  • bulk insert API added (commit b663a413)
  • table truncation API added (commit 8ff1c946)

information schema changes

  • routine usage tables added as placeholders (commit f40c6969)

libpq changes

General

  • in_hot_standby now reported by PQparameterStatus() (commit bf8a662c)
  • pipeline mode added (commit acb7e4eb)
  • PQtrace() output format improved (commit 198b3716)
  • Server Name Indication (SNI) set by default for SSL connections (commit 5c55dc8b)

Connection parameters

Modified:

Removed:

ECPG changes

  • DECLARE STATEMENT command added (commit ad8305a4)

psql changes

  • \dX command added to display extended statistics objects added (commit ad600bba)
  • \di, \dm and \dt commands now display access method name (commit 07f386ed)
  • all query results are displayed by default if a command string contains multiple queries (commit 3a513067)
  • SHOW_ALL_RESULTS variable added (commit 3a513067)
  • \df and \do commands now accept specification of argument types (commit a3027e1e)

Server utilities

Added:

Modified:

Core utilities

Added:

Modified:

Contrib modules

Added:

Modified:

Removed:

Testing

Test modules

Added: