PostgreSQL 8.4

Major features

Data type changes

  • boolean
    • on and off accepted as input values (commit 05a7db05)
  • UUID
    • input accepts an optional hyphen after every fourth digit (commit 84aa7972)

SQL changes

General

  • support for default values in function arguments added (commit 455dffbb)
  • support for VARIADIC functions added (commit d89737d3)

Added:

Modified:

  • ALTER DATABASE
    • ALTER DATABASE ... SET TABLESPACE ... syntax added (commit 6517f377)
  • ALTER SEQUENCE
    • ALTER SEQUENCE ... START [ WITH ] ... syntax added (commit caede71b)
    • ALTER SEQUENCE ... RESTART [ WITH ] ... syntax added (commit 10a3471b)
  • ALTER TABLE
    • ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE syntax added (commit 1471e384)
  • ALTER TYPE
    • ALTER TYPE ... RENAME ... syntax added (commit 5507b22d)
  • ALTER VIEW
    • following syntax added (commit a0b012a1):
      • ALTER VIEW ... ALTER COLUMN ... [ SET | DROP ] DEFAULT
      • ALTER VIEW ... OWNER TO ...
      • ALTER VIEW ... SET SCHEMA ...
  • CLUSTER
    • option VERBOSE added (commit a3785555)
  • CREATE CAST
    • CREATE CAST ... WITH INOUT ... syntax added (commit 092bc496)
  • CREATE FUNCTION
    • RETURNS TABLE syntax added (commit 69a785b8)
    • WINDOW attribute added (commit 26ce4e85)
  • CREATE TABLE AS
    • WITH [ NO ] DATA  syntax added (commit 8ecd5351)
  • CREATE TYPE
    • option LIKE added (commit 3f936aac)
    • options CATEGORY and PREFERRED added (commit bac3e836)
  • EXPLAIN
    • VERBOSE option now prints the target list of each plan node, rather than dumping the internal representation (commit 87a2f050)
  • GRANT
    • TRUNCATE privilege for tables added (commit a0b76dc6)
  • SELECT
    •  FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY syntax added (commit 361bfc35)
  • TRUNCATE
    • TRUNCATE is now recursive by default (commit ca8100f9)
    • ONLY option added (commit ca8100f9)
    • RESTART IDENTITY/CONTINUE IDENTITY options added (commit 10a3471b)
  • VALUES
    • OFFSET start [ ROW | ROWS ] / FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY SQL:2008 syntax added (commit 361bfc35)

Backend changes

Functions

  • functions can now take default arguments (commit 455dffbb)

Hooks

Following hooks added:

Source configuration

  • option --disable-float4-byval added (commit 8472bf7a)
  • option --disable-float8-byval added (commit 8472bf7a)
  • option --with-blocksize added (commit 3c6248a8)
  • option --with-segsize added (commit 3c6248a8
  • option --with-wal-blocksize added (commit cf9f6c8d)
  • option --with-wal-segsize added (commit cf9f6c8d

Triggers

  • support for statement-level ON TRUNCATE triggers added (commit 7692d8d5)

System catalogue changes

Tables

Added:

Modified:

Removed:

Views

Added:

Modified:

System functions

Added:

Modified:

Configuration changes

Added:

Modified:

Removed:

Indexing changes

GIN indexes

  • support for partial-match searches added (commit e6dbcb72)
  • index operator lossiness determination pushed down to GIN opclass functions (commit 9b5c8d45)
  • search tree depth limit for GIN bulk-insert operations added (commit e5efda44)
  • "fastupdate" support added (commit ff301d6e)
  • multi-column support added (commit 27cb66fd)

Logging changes

Replication changes

Configuration

Added:

Removed:

Full text search changes

  • when doing GIN weighted lookups on full text indexes, the operator @@ can be used in place of @@@ (commit 9b5c8d45)
  • selectivity estimation function for the text search @@ operator added (commit 4e57668d)
  • support for the Nepali language / Devanagari alphabet improved (commit e43bb5be)

Authentication changes

pg_hba.conf

libpq changes

  • sslmode connection parameter values verify-ca and verify-full added (commit e883d0b5)
  • support for wildcard server certificates added (initial commit cb10467d)
  • file locations for client certificates can now be specified (commit 5f3724dd)
  • OpenSSL callbacks will now be unregistered when no database connections remain open (commit 4e816286)
  • PQinitOpenSSL() function added (commit 97503a52)
  • lo_import_with_oid() function added (commit 8436f9a0)

ECPG changes

  • localization support added (initial commit e1bdd07c)
  • ECPG parser is now automatically generated from the server parser (commit 4607c5ca)

Procedural language changes

PL/pgSQL

  • RETURN QUERY EXECUTE syntax added (commit 47391591)
  • RETURN QUERY [ EXECUTE ] sets FOUND and GET DIAGNOSTICS ROW_COUNT variables (commit 8c78f8e6)

psql changes

Server utilities

Modified:

Core utilities

Modified:

Contrib modules

Added:

Modified:

  • dblink
  • fuzzystrmatch
    • levenshtein() function expanded to include optional cost values (commit 55f6e5f6)
  • intagg
    • marked as deprecated (commit 32cc9e55)
  • ltree
    • support for multibyte encoding added (commit 8eee65c9)
  • pageinspect
    • function fsm_page_contents() added (commit 15c121b3)
    • function get_raw_page() expanded with variant get_raw_page(regclass, int4, int4) (commit 15c121b3)
  • pgbench
    • -M option added for specifying the query protocol type to use (commit 49639a7b)
    • -T option added for specifying duration in seconds (commit cff4aa6a)
    • pgbench_ prefix added to the standard tables accounts, branches, history, and tellers (commit 48caf91b)
  • pg_freespacemap
    • rewritten to match the new FSM implementation (commit 15c121b3)
  • pg_standby
    • "Smart Failover" mode added, to consume all available WAL before bringing up the server (commit 9e403c25)
    • -l option removed (commit 8fd733bd)
  • pgstattuple
    • pgstatindex() and pg_relpages() adapted to handle tables and indexes with over 2 billion pages (commit d287818e)
  • pg_trgm
    • support for multibyte encoding added (commit b87b52bf)
  • vacuumlo
    • option -w/--no-password added (commit 9de59fd1)

Testing