PostgreSQL 10

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)

Backend changes

Data directory

Frontend/Backend Protocol

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

Process management

Optimizer

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)

Data type changes

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