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

Process management

Optimizer

Statistics

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

Triggers

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

Data type changes

Modified:

Indexing changes

  • auto-summarization added to BRIN indexes (commit 7526e102)
  • hash indexes now have WAL support and are crash-safe (main commit c11453ce)

SQL changes

General changes

  • XMLTABLE expression support added (commit fcec6caa)

Command changes

Added:

Modified:

Configuration changes

Added:

  • min_parallel_index_scan_size (commit 51ee6f31)
  • min_parallel_table_scan_size (commit 51ee6f31)

Modified:

Removed:

Partitioning changes

System catalogue changes

Tables

Added:

Modified:

Views

Added:

Modified:

System functions

Added:

Modified:

libpq changes

Users/roles

Following default roles added (commit 0fdc8495):

  • pg_read_all_settings
  • pg_read_all_stats
  • pg_stat_scan_tables
  • pg_monitor

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

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: