PostgreSQL 10

Minor version releases

Major features

  • Logical replication using publish/subscribe
  • Declarative table partitioning
  • Improved query parallelism
  • Stronger password authentication based on SCRAM-SHA-256 (commit 818fd4a6)
  • Significant general performance improvements
  • Improved monitoring and control
  • SQL standard identity columns (commit 32173270)
  • ICU collation support (initial commit eccfef81)
  • version numbering changed to a two-part system (commit ca9112a4)

Backend changes

Data directory

Extension support

  • no longer necessary to provide an extension script for each individual extension version (commit 40b449ae)
  • support for version-0 function calling conventions removed (commit 5ded4bd2)

Frontend/Backend Protocol

  • support for protocol version 1 removed (commit 2f1eaf87)

Process management

Optimizer

SPI

  • some functions removed and replaced by no-op macros (commit 1833f1a1)

Statistics

  • multivariate n-distinct coefficient support implemented (initial commit 7b504eb2)

Triggers

  • transition tables in AFTER triggers (initial commit 8c48375e)

Vacuum

  • orphaned temporary tables dropped more quickly (commit a734fd5d)

Source configuration

  • option --disable-integer-datetime removed (commit b6aa17e0)
  • option --with-icu added (commit eccfef81)

Data type changes

General:

  • support for floating-point timestamps removed (commit b6aa17e0)

Modified:

Indexing changes

BRIN

  • auto-summarization added (commit 7526e102)
  • de-summarization support via brin summarize range() and brin desummarize range() functions added (commit c655899b)
  • cost estimation improvements (commit 7e534adc)

btree indexes

  • parallel index scan support added (initial commit 569174f1)

Hash indexes

  • WAL support added, providing crash safety (main commit c11453ce)
  • performance improvements (initial commit 6d46f478)

SP-GiST

  • support for inet and cidr data types added (commit 77e29068)

SQL changes

General changes

  • XMLTABLE expression support added (commit fcec6caa)

Command changes

Added:

Modified:

Configuration changes

Added:

Modified:

Removed:

Partitioning changes

System catalogue changes

Tables

Added:

Modified:

Views

Added:

Modified:

System functions

Added:

Modified:

Authentication changes

pg_hba.conf

  • logical replication connections now handled as normal connections, i.e. the replication keyword is no longer used (commit 8df9bd0b)

libpq changes

Users/roles

Following default roles added (commit 0fdc8495):

  • pg_read_all_settings
  • pg_read_all_stats
  • pg_stat_scan_tables
  • pg_monitor

Procedural languages

General

  • improved support for parallel queries (commit 61c2e1a9)

PL/Python

  • support for multi-dimensional arrays in function arguments added (commit 94aceed3)

Replication changes

Logical replication

  • new subscriptions can synchronize data (commit 7c4f5240)
  • logical replication support added (initial commit 665d1fad)

Configuration

Added:

Full-text search changes

  • support for json and jsonb datatypes added (commit e306df7f)

Foreign data wrapper changes

  • Foreign tables can participate in table partitioning (commit f0e44751)
  • support for pushing aggregate functions to the remote server (commit 7012b132)

Server utilities

Modified:

  • initdb
    • options --noclean and --nosync can now be spelled --no-clean and --no-sync (commit 5d58c07a)
    • option --xlogdir renamed to --waldir (commit 62e8b387)
  • pg_ctl
    • defaults to waiting (command line option -w/--wait) for all actions, including start (commit 05cd12ed)
    • long option --option for existing option -o added (commit caf936b0)
    • now checks for postmaster startup 10 times per second, instead of once (commit c61559ec)
    • checks postmaster.pid for postmaster status, rather than attempting to connect (commit f13ea95f)
    • always exits with a non-zero status if an operation does not complete within the specified timeout (commit 1bac5f55)
  • pg_upgrade
    • hash indexes from older PostgreSQL versions will be invalidated and a script generated for recreating them (commit a95410e2)

Core utilities

Modified:

Removed:

psql changes

  • variables showing psql version and server version added (commit 9ae9d8c1)
  • meta-commands \if, \elif, \else, and \endif added (commit e984ef58)
  • \gx command added to execute a query in expanded mode (commit b2678efd)

Contrib modules

Added:

Modified:

Removed:

Pre-release test versions

Initial commit marking the start of PostgreSQL 10 development is ca9112a4 (2016-08-15).