PostgreSQL 14

Minor version releases

Backend changes

  • enhanced COPY performance through improved buffering (commit 0a0727cc)
  • improvements in snapshot scalability to handle larger number of connections (commits 5788e258, 1f51c17c, 941697c3, 73487a60, 623a9ba7, 07f32fcd, and dc7420c2)
  • stored procedures now support OUT parameters (commit 2453ea14)
  • support for abstract UNIX domain sockets (commit c9f0624b)
  • improved client error messages for immediate-stop situations (commit 7e784d1d)
  • key management system (initial commit 978f869b) withdrawn (commit 3187ef7c)
  • new WAL segments now filled using vectored I/O (commit ce6a71fa)
  • TID range scan support added (commit bb437f99)
  • support for protocol version 2 removed (commit 3174d69f)
  • configurable LZ4 TOAST compression (commit bbe0a81d)
  • asynchrous execution support for foreign nodes added (commit 27e1f145)
  • support for SQL-standard function bodies (commit e717a9a1)
  • query ids previously generated by pg_stat_statements now generated in core (commit 5fd9dfa5)
  • support for SSL compression removed (commit f9264d15)

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) this change was found to be unsafe and reverted with commit 042b584c (PostgreSQL 14.4)
  • 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 ab596105)

GiST indexes

  • support for building GiST indexes by presorting the data (commit 16fa9b2b)

SP-GiST indexes

  • support for INCLUDE columns added (commit 09c1c6ab)

Partitioning changes

  • partitions can be detached 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:

Withdrawn:

 

Users / roles

Authentication changes

pg_hba.conf

  • authentication option clientcert no longer supports the options 0, 1 and no-verify (commit 253f1025)
  • records can span multiple lines (commit 8f8154a5)

pg_ident.conf

  • records can span multiple lines (commit 8f8154a5)

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)

Procedural language changes

PL/pgSQL

  • performance of repeated CALL invocations improved (commit ee895a65)
  • undocumented IS [NOT] OF syntax removed (commit 926fa801)

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)
  • multiple transactions permitted during table synchronization (commit ce0fdbfe)

Foreign data wrapper changes

  • bulk insert API added (commit b663a413)
  • table truncation API added (commit 8ff1c946)
  • asynchronous execution support added (commit 27e1f145)

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:

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: