PostgreSQL 8.0

Major features

SQL changes

Added:

Modified:

Backend changes

General

Planner

  • able to fold "stable" functions to constants when forming selectivity estimates (commit 9a633cbb)

SPI

  • following functions added (commit 65a0db19):
    • SPI_getargtypeid()
    • SPI_getargcount()
    • SPI_is_cursor_plan()

Vacuuming

  • cost-based vacuum delay feature added (commit f425b605)

WAL

  • concept of timelines added (commit 2042b342)

System catalogue changes

Tables

Added:

Modified:

Views

Modified:

System functions

Added:

Modified:

Configuration changes

Added:

Deprecated:

Removed:

Replication changes

Configuration

Added:

  • recovery_target_inclusive (commit 66ec2db7)
  • recovery_target_time (commit 66ec2db7)
  • recovery_target_timeline (commit 2042b342)
  • recovery_target_xid (commit 66ec2db7)

Procedual language changes

PL/pgSQL

  • ELSEIF permitted as an alternative to ELSIF (commit 480777e5)
  • NULL statement added (commit 64410289)
  • support for EXCEPTION clauses added (initial commit beda4814)
  • FOR loop syntax improvements (commit a72dd7a9)

PL/Perl

  • following improvements (commit 1732cb0d):
    • shared data space and namespace
    • support for triggers
    • records can now be returned as hash references
    • new function spi_exec_query()
    • PL/Perl functions can return RECORD and SETOF RECORD

libpq changes

  • PQcancel() function added (commit 44e8a968)
  • PQprepare()/PQsendPrepared() functions added (commit 9d9cfb1a)
  • PQserverVersion() added (commit f79fbb2b)

information schema changes

  • support for named parameters in information_schema.parameters (commit 9d888807)

Server utilities

Modified:

  • initdb
    • converted from a shell script to a fully-fledged C program (initial commit: 279598bb)
    • option --pwfile added, intended for use by tools which call initdb (commit 1b80b6da)
  • pg_ctl
    • converted from a shell script to a fully-fledged C program (commit f3d6d948)
    • pg_ctl can no longer be executed by the root user (commit c58675b4)
    • register and kill options added for Windows support (commit f8dd00c3)
  • pg_resetxlog
    • execution as root user prohibited (commit 75e39c44)

Core utilities

Modified:

  • pg_dump
    • start/stop times shown when -v/--verbose option used (commit 91366138)
  • pg_dumpall
    • support for pg_dump options -S/--superuser, -O/--no-owner, -X disable-dollar-quoting/--disable-dollar-quoting and -X disable-triggers/--disable-triggers added (commit a0db74a3)
    • start/stop times shown when -v/--verbose option used (commit 91366138)
  • pg_restore
    • option -e/--exit-on-error added (commit daa076c4)
    • option --use-set-session-authorization added (commit dc0e76ca)

psql

  •  able to handle tilde user expansion for filenames (commit 55a92063)

Contrib modules

Added:

Modified:

  • btree_gist
    • revised version with support for a wide range of data types| (commit 42d06988)
  • dblink
  • pg_autovacuum
    • following options added (commit c47fc6d0):
      • -c (vacuum_cost_delay)
      • -C (vacuum_cost_page_hit)
      • -m (vacuum_cost_page_miss)
      • -n (vacuum_cost_page_dirty)
      • -N (vacuum_cost_limit)

Other