PostgreSQL 14

PostgreSQL 14 is the next major PostgreSQL release, currently under development.

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

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)
  • wraparound failsafe functionality added (commit 1e55e7d1)

Data type changes

General

jsonb

  • subscripting support added (commit 676887a3)

pg_lsn

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

Indexing changes

General

  • support for collation versioning added (initial commit 257836a7)

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)

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:

Configuration changes

Added:

Modified:

Removed:

Users / roles

Procedual language changes

PL/pgSQL

  • performance of repeated CALL invocations improved (commit ee895a65)

Replication changes

Streaming replication

Logical replication

  • 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: