PostgreSQL 16

PostgreSQL 16 is the future development version of PostgreSQL, likely to be released in late 2023.

Initial commit marking the start of PostgreSQL 16 development is d31d3097 (2022-06-30).

CommitFests

Following CommitFests are for PostgreSQL 16 code submissions:

Note that the last CommitFest (March 2023) generally stays open a few days beyond the official end date until feature freeze is announced, usually in early April.

Backend changes

Build system

  • support for Meson build system added (initial commit e6927270)

SQL changes

General:

  • FROM clause subquery aliases no longer required (commit bcedd8f5)
  • SYSTEM_USER reserved keyword now supported ((commit 0823d061)

Modified:

System catalog changes

Tables

Modified:

  • pg_class
    • type of column relfilenode changed from oid to int8 (commit 05d4cbf9)

System function changes

Modified:

Configuration changes

General:

  • GUC_NO_RESET flag added (commit 38536642)

Modified:

Platform support changes

HP/Intel Itanium

HP-UX

Windows

  • support removed for versions older than Windows 10 (commit 495ed0ef)

Logging changes

  • internal log_status_format() added for use by emit_log_hook etc. (commit b40baa96)
  • checkpoint and recovery point LSNs displayed in LogCheckpointEnd log message (commit 62c46eee)
  • autovacuum log output and VACUUM VERBOSE output now include a line containing the total number of heap pages which had one or more tuples frozen, and the total number of tuples frozen (commit d977ffd9)

Users / roles

  • superuser privileges can no longer be removed from the bootstrap user (commit e530be2c)

Replication changes

Logical replication

  • publications can include both a schema and individual tables from the same schema (commit 13a185f5)

Foreign data wrapper changes

Core utilities

Modified:

  • createuser
    • following options added (commit 08951a7c):
      • -a/--admin
      • --bypassrls/--no-bypassrls
      • -m/--member
      • --valid-until
  • vacuumdb
    • options --schema and --exclude-schema added (commit 7781f4e3)

psql

  • \pset option xheader_width added (commit a45388d6)

Contrib module changes

auto_explain

  • option auto_explain.log_parameter_max_length added (commit d4bfe412)