PostgreSQL 9.3

Major features

SQL changes

General:

  • LATERAL sub-select syntax added (commit 5ebaaa49)

Added:

Modified:

Backend changes

Optimizer

  • now collects and uses histograms of lower and upper bounds for range types (commit 918eee0c)

postmaster

  • support for multiple Unix domain sockets added (commit c9b0cbe9)

System catalogue changes

Tables

Added:

Modified:

Views

Added:

System functions

Added:

Configuration changes

Added:

Modified:

Removed:

Indexing changes

GiST

  • support for unlogged tables added (initial commit 62401db4)
  • index insertion improvement by randomizing page choice when multiply equally good alternatives exist (commit ba1cc650)

hash

  • concurrency improvements (commit 76837c15)

SP-GiST

  • range support for SP-GiST indexes added (initial commit 317dd55a)

Procedural language changes

PL/pgSQL

  • supports using RETURN with a composite-type expression (commit 31a89185)
  • constraint violation details can now be accessed as separate fields (commit c21bb48d)
  • the numbr of rows processed by COPY can now be accessed (commit 7ae18159)
  • unreserved keywords can be used as identifiers everywhere (commit bac95fd4)

PL/Python

  • result object string handler added (commit 330ed4ac)
  • OID values now converted to a proper Python numeric type (commit db0af74a)
  • SPIErrors raised directly and treated in the same as an SPIError generated internally (commit 316186f2)
  • support for building against custom Python installations on OS X (commit fc874507)

Replication changes

  • "fast" promotion added (commit fd4ced52)

libpq

  • function PQconninfo() added (commit 65c3bf19)

Foreign data wrapper changes

Server utilities

Modified:

  • initdb
    • option -k/--data-checksums to enable support for data checksums (commit 96ef3b8f)
    • option --sync-only (for use by pg_upgrade) added (commit 630cd144)
    • fsync run on data directory by default (can be overridden with new option -N/--nosync) (commit b966dd6c)
    • warns about initialising a data directory on a mount point (commit 17f15239)

Core utilities

Added:

Modified:

psql changes

  • \watch added (commit c6a3fce7)
  • \gset added (commit d2d153fd)
  • only emit warning when connecting to a newer (not older) server version (commit 5cad0245)

Contrib modules

Added:

Modified:

Documentation

  • documentation can be created in EPUB format (commit ff64fd49)

Pre-release test versions

Initial commit marking the start of PostgreSQL 9.3 development is bed88fce (2012-06-13).