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

Backend changes

Process management

Optimizer

  • optional multi-column extended statistics object configurable via the CREATE STATISTICS command (initial commit 7b504eb2)

Data type changes

Modified:

SQL changes

General changes

  • Set-returning functions| disallowed inside CASE or COALESCE clauses (commit 0436f6bd)

Command changes

Added:

Modified:

Configuration changes

Added:

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

Modified:

Removed:

Indexing changes

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

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

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: