aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-11-08 03:44:15 +0000
committerBruce Momjian <bruce@momjian.us>2002-11-08 03:44:15 +0000
commit433d4eb986e3bb7865c47cbf997f165d9ed3cd72 (patch)
treed2fb40ff700d0e2b11e43acb35cbfc51a1cd8bb9
parent9a1ced27326e86b47306859bf85bd1e8b79090ff (diff)
downloadpostgresql-433d4eb986e3bb7865c47cbf997f165d9ed3cd72.tar.gz
postgresql-433d4eb986e3bb7865c47cbf997f165d9ed3cd72.zip
Update release docs for 7.3.
-rw-r--r--HISTORY8
-rw-r--r--doc/src/sgml/release.sgml656
2 files changed, 603 insertions, 61 deletions
diff --git a/HISTORY b/HISTORY
index 3f0e5e03c53..0d599ff1881 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2,7 +2,7 @@
Release 7.3
- Release date: 2002-??-??
+ Release date: 2002-11-??
Overview
@@ -67,7 +67,7 @@ Migration to version 7.3
A dump/restore using "pg_dump" is required for those wishing to migrate
data from any previous release. If your application examines the
system catalogs, additional changes will be required due to the
- introduction of schemas in 7.3; for more information, see
+ introduction of schemas in 7.3; for more information, see:
http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3
@@ -384,8 +384,8 @@ ECPG
====
Fixed ecpg bug concerning octal numbers in single quotes (Michael)
-Misc. Interfaces
-================
+Miscellaneous Interfaces
+========================
Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce)
Improve python (Elliot Lee, Andrew Johnson, Greg Copeland)
Add libpgtcl connection close event (Gerhard Hintermayer)
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 4f8aeee6eb6..a0d431e97ce 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -1,16 +1,16 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.163 2002/10/12 16:29:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.164 2002/11/08 03:44:15 momjian Exp $
-->
<appendix id="release">
<title>Release Notes</title>
<sect1 id="release-devel">
- <title>7.3 Development Branch</title>
+ <title>7.4 Development Branch</title>
<para>
Below is a subset of the changes that have gone into the
- development branch of PostgreSQL since version 7.2. For a complete
+ development branch of PostgreSQL since version 7.3. For a complete
list of changes, consult the CVS logs.
</para>
@@ -24,48 +24,6 @@ CDATA means the content is "SGML-free", so you can write without
worries about funny characters.
-->
<literallayout><![CDATA[
-Mixed numeric-and-float expressions are evaluated as float, per SQL spec
-Explicit casts to char, varchar, bit, varbit will truncate or pad without error
-CREATE OR REPLACE VIEW, CREATE OR REPLACE RULE are available
-No-autocommit mode is available (set autocommit to off)
-Substantial improvements in functionality for functions returning sets
-Client libraries older than 6.3 no longer supported (version 0 protocol removed)
-PREPARE statement allows caching query plans for interactive statements
-Type OPAQUE is now deprecated in favor of pseudo-types cstring, trigger, etc
-Standalone composite types can now be created with CREATE TYPE
-Files larger than 2 GB are now supported (if supported by the operating system)
-SERIAL no longer implies UNIQUE; specify explicitly if index is wanted
-pg_dump -n and -N options have been removed. The new behavior is like -n but knows about key words.
-CLUSTER is no longer hazardous to your schema
-COPY accepts a list of columns to copy
-ALTER TABLE DROP COLUMN
-CREATE OPERATOR CLASS/DROP OPERATOR CLASS
-CREATE CAST/DROP CAST
-Sequences created by SERIAL column definitions now auto-drop with the column
-Most forms of DROP now support RESTRICT and CASCADE options
-Recursive SQL functions can be defined
-User-defined procedural languages can register a validator function to check new functions as they are created
-Functions can be executed with the privileges of the owner
-Syntax of CREATE FUNCTION has been extended to resemble SQL99
-Effects of SET within a transaction block now roll back if transaction aborts
-New SET LOCAL syntax sets a parameter for the life of the current transaction
-Datestyle, timezone, client_encoding can be set in postgresql.conf
-The last vestiges of support for type names datetime and timespan are gone; use timestamp and interval instead
-Rule names are now per-relation, not global; DROP RULE and COMMENT ON RULE syntax changes accordingly
-Readline and Zlib are now required by default and must be turned off explicitly if their use is not desired
-Define a third class of function volatility to allow indexscans in more cases
-Locale support is now built by default; choice of locale is set by initdb and/or at run-time
-ALTER TABLE ALTER COLUMN SET/DROP NOT NULL
-EXPLAIN and SHOW output comes out as a query result, not a NOTICE message
-DOMAINs (types that are constrained versions of base types)
-Access privileges on functions
-Access privileges on procedural languages
-CREATE DATABASE has OWNER option so superuser can create DB for someone else
-Kerberos 5 support now works with Heimdal
-Database and user-specific session defaults for run-time configuration variables (ALTER DATABASE ... SET and ALTER USER ... SET)
-String function OVERLAY() implemented per SQL99
-Regular expression operator SIMILAR TO implemented per SQL99
-Regular expression function SUBSTRING() implemented per SQL99
]]></literallayout>
</sect1>
@@ -75,28 +33,119 @@ Regular expression function SUBSTRING() implemented per SQL99
<note>
<title>Release date</title>
- <simpara>2002-??-??</simpara>
+ <simpara>2002-11-??</simpara>
</note>
<sect2>
<title>Overview</title>
<para>
- TO BE FILLED IN. SEE /HISTORY.
- </para>
-
- <para>
Major changes in this release:
<variablelist>
<varlistentry>
- <term>XXX</term>
+ <term>Schemas</term>
<listitem>
<para>
- TO BE FILLED IN. SEE /HISTORY.
+ Schemas allow users to create objects in their own namespace
+ so two people or applications can have tables with the same
+ name. There is also a public schema for shared tables.
+ Table/index creation can be restricted by removing
+ permissions on the public schema.
</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term>Drop Column</term>
+ <listitem>
+ <para>
+ PostgreSQL now supports ALTER TABLE ... DROP COLUMN functionality.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Table Functions</term>
+ <listitem>
+ <para>
+ Functions returning multiple rows and/or multiple columns are
+ now much easier to use than before. You can call such a
+ "table function" in the SELECT FROM clause, treating its output
+ like a table. Also, plpgsql functions can now return sets.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Prepared Queries</term>
+ <listitem>
+ <para>
+ For performance, PostgreSQL now supports prepared queries.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Dependency Tracking</term>
+ <listitem>
+ <para>
+ PostgreSQL now records object dependencies, which allows
+ improvements in many areas.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Privileges</term>
+ <listitem>
+ <para>
+ Functions and procedural languages now have privileges, and
+ people running them can take on the privileges of their creators.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Multibyte/Locale</term>
+ <listitem>
+ <para>
+ Both multibyte and locale are now always enabled.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Logging</term>
+ <listitem>
+ <para>
+ A variety of logging options have been enhanced.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Interfaces</term>
+ <listitem>
+ <para>
+ A large number of interfaces have been moved to
+ <ulink url="http://gborg.postgresql.org">
+ http://gborg.postgresql.org</>where they can be developed
+ and released independently.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Functions/Identifiers</term>
+ <listitem>
+ <para>
+ By default, functions can now take up to 32 parameters, and
+ identifiers can be up to 63 bytes long.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</para>
</sect2>
@@ -105,8 +154,16 @@ Regular expression function SUBSTRING() implemented per SQL99
<title>Migration to version 7.3</title>
<para>
- A dump/restore using <command>pg_dump</command> is required for
- those wishing to migrate data from any previous release.
+ A dump/restore using <command>pg_dump</> is required for those
+ wishing to migrate data from any previous release. If your
+ application examines the system catalogs, additional changes will be
+ required due to the introduction of schemas in 7.3; for more
+ information, see:
+
+ <ulink
+ url="http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3">
+ http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3</>
+
</para>
<para>
@@ -115,7 +172,72 @@ Regular expression function SUBSTRING() implemented per SQL99
<itemizedlist>
<listitem>
<para>
- TO BE FILLED IN. SEE /HISTORY.
+ Pre-6.3 clients are no longer supported.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ pg_hba.conf now has a USER column and additional features.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Several GUC logging parameters have been renamed and improved.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ LIMIT #,# is disabled, use LIMIT # OFFSET #.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ INSERTs with column lists must specify all values, e.g.
+ INSERT INTO tab (col1, col2) VALUES ('val1') is now invalid.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ DROP object now takes either CASCADE or RESTRICT to control
+ whether dependent objects are also dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ An index is now not automatically created for SERIAL columns.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A SET inside an aborted transaction is now rolled back.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ COPY no longer considers missing trailing columns to be NULL.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ TIMESTAMP and TIME data types now default to WITHOUT TIMEZONE.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Pre-7.3 databases loaded into 7.3 will not have the new object
+ dependencies for SERIAL, UNIQUE constraints, and foreign keys. See
+ /contrib/adddepend for a detailed description and a script that
+ will add the such dependencies.
</para>
</listitem>
@@ -128,11 +250,431 @@ Regular expression function SUBSTRING() implemented per SQL99
<title>Changes</title>
<sect3>
- <title>XXX</title>
+ <title>Server Operation</title>
+<literallayout>
+Kerberos V Heimdal support (KTH)
+Add pg_locks view to show locks (Neil)
+Security fixes for password negotiation memory allocation (Neil)
+Remove support for version 0, &lt;=6.2 FE/BE protocol (Tom)
+Reserve the last few backend slots for superusers, add GUC variable
+ superuser_reserved_connections to control this (Nigel J. Andrews)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Performance</title>
+<literallayout>
+Improve startup by calling localtime() only once (Tom)
+Cache system catalog information in flat files for faster startup (Tom)
+Improve caching of index information (Tom)
+Optimizer improvements (Tom, Fernando Nasser)
+Catalog caches now store failed lookups (Tom)
+Hash function improvements (Neil)
+Improve performance of query tokenization and network handling (Peter)
+Speed improvement for large object restore (Mario Weilguni)
+Mark expired index entries on first lookup, saving later heap fetches (Tom)
+Eliminate NULL bitmap padding when not required (Manfred)
+Add BSD-licensed qsort() for Solaris, for performance (Bruce)
+Reduce per-row overhead by four bytes (Manfred Koizar)
+Fix GEQO optimizer bug (Neil Conway)
+Make WITHOUT OID actually save four bytes per row (Manfred Koizar)
+Add GUC default_statistics_target variable to specify ANALYZE buckets (Neil)
+Use local buffer cache for temporary tables so no WAL overhead (Tom)
+Improve free space map performance on large tables (Stephen Marshall, Tom)
+Improved WAL write concurrency (Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Privileges</title>
+<literallayout>
+Add privileges on functions and procedural languages (Peter)
+Add OWNER to CREATE DATABASE so superusers can create databases
+ on behalf of unprivileged users. (Gavin Sherry, Tom)
+Add new object permission bits EXECUTE and USAGE (Tom)
+Add SET SESSION AUTHORIZATION DEFAULT and RESET SESSION AUTHORIZATION (Peter)
+Allow functions to be executed with the privilege of the function owner (Peter)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Client Authentication</title>
+<literallayout>
+Allow $HOME/.pgpass to store host/user password combinations (Alvaro Herrera)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Server Configuration</title>
+<literallayout>
+Server log messages now tagged with LOG, not DEBUG (Bruce)
+Add USER column to pg_hba.conf (Bruce)
+Have log_connections output two lines in log file (Tom)
+Remove debug_level from postgresql.conf, now SERVER_MIN_MESSAGES (Bruce)
+New ALTER DATABASE/USER ... SET command for per-user/db initialization (Peter)
+New GUC variables server_min_messages and client_min_messages which control
+ which messages are sent to the server logs or client applications (Bruce)
+Allow pg_hba.conf to specify lists of users/dbs separated by commas,
+ group names prepended with +, and file names prepended with @ (Bruce)
+Allow group names specified by +
+Add samegroup in pg_hba.conf for group name/dbname restriction (Bruce)
+Remove secondary password file capability (Bruce)
+Remove pg_passwd utility (Bruce)
+Add GUC variable db_user_namespace for db-local user names (Bruce)
+SSL improvements (Bear Giles)
+Make encryption of stored passwords the default (Bruce)
+Allow pg_statistics to be reset by calling pg_stat_reset() (Christopher)
+Add log_duration GUC parameter (Bruce)
+Rename GUC debug_print_query to log_statement (Bruce)
+Rename GUC show_query_stats to show_statement_stats (Bruce)
+Add GUC param log_min_error_statement to print query to logs on error (Gavin)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Queries</title>
+<literallayout>
+Make cursors insensitive, meaning their contents do not change (Tom)
+Disable LIMIT #,# syntax; now only LIMIT # OFFSET # supported (Bruce)
+Increase identifier length to 63 (Neil, Bruce)
+UNION fixes for merging >= 3 columns of different lengths (Tom)
+Add DEFAULT keyword to INSERT, i.e INSERT ... (..., DEFAULT, ) (Rod)
+Allow views to have default values using ALTER COLUMN ... SET DEFAULT (Neil)
+Fail on INSERTs with column lists that don't supply all column values,
+ e.g. INSERT INTO tab (col1, col2) VALUES ('val1'); (Rod)
+Fix for join aliases (Tom)
+Fix for FULL OUTER JOINs (Tom)
+Improve reporting of invalid identifier and location (Tom, Gavin)
+Fix OPEN cursor(args) (Tom)
+Allow 'ctid' to be used in a view and currtid(viewname) (Hiroshi)
+Fix for CREATE TABLE AS with UNION (Tom)
+SQL99 syntax improvements (Thomas)
+Add GUC statement_timeout variable to cancel queries (Bruce)
+Allow prepared queries with PREPARE/EXECUTE (Neil)
+Allow FOR UPDATE to appear after LIMIT/OFFSET (Bruce)
+Add auto-transactions with GUC variable autocommit (Tom, David Van Wie)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Object Manipulation</title>
+<literallayout>
+Make equals signs optional in CREATE DATABASE (Gavin Sherry)
+Make ALTER TABLE OWNER to change index ownership (Neil)
+Add per-database and per-user startup commands, ALTER DATABASE ... SET and
+ ALTER USER ... SET (Peter)
+New ALTER TABLE tabname ALTER COLUMN colname SET STORAGE controls TOAST
+ storage, compression (John Gray)
+Add SCHEMA support with CREATE/DROP SCHEMA (Tom)
+Create schema for temporary tables (Tom)
+Add GUC variable search_path for namespace schema search (Tom)
+Add ALTER TABLE SET/DROP NOT NULL (Christopher)
+New CREATE FUNCTION volatility levels (Tom)
+Make rule names unique only per table (Tom)
+Add 'ON tablename' clause to DROP RULE and COMMENT ON RULE (Tom)
+Add ALTER TRIGGER RENAME (Joe)
+New current_schema() and current_schemas() inquiry functions (Tom)
+Allow functions to return multiple rows, also called table functions (Joe)
+Make WITH optional in CREATE DATABASE, for consistency (Bruce)
+Add object dependency tracking (Rod, Tom)
+Add RESTRICT/CASCADE to DROP commands (Rod)
+Add ALTER TABLE DROP non-CHECK CONSTRAINT (Rod)
+Auto-destroy sequence on DROP of table with SERIAL (Rod)
+Prevent column dropping if column is used by foreign key (Rod)
+Automatically drop constraints/functions when object is dropped (Rod)
+Add CREATE/DROP OPERATOR CLASS (Bill Studenmund, Tom)
+Add ALTER TABLE DROP COLUMN (Christopher, Tom, Hiroshi)
+Prevent inherited columns from being removed or renamed (Alvaro Herrera)
+Fix foreign key constraints to not error on intermediate db states (Stephan)
+Propagate column or table renaming to foreign key constraints
+Add CREATE OR REPLACE VIEW (Gavin, Neil, Tom)
+Add CREATE OR REPLACE RULE (Gavin, Neil, Tom)
+Have rules execute alphabetically, returning more accurate values (Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Utility Commands</title>
+<literallayout>
+Have COPY TO output embedded carriage returns and newlines as \r and \n (Tom)
+Allow DELIMITER in COPY FROM to be 8-bit clean (Tatsuo)
+Make pg_dump use ALTER TABLE ADD PRIMARY KEY, for performance (Neil)
+Disable brackets in multi-statement rules (Bruce)
+Disable VACUUM from being called inside a function (Bruce)
+Allow dropdb and other scripts to use identifiers with spaces (Bruce)
+Restrict comment to the current database
+Allow comments on operators, independent of the underlying function (Rod)
+Rollback SET commands in aborted transactions (Tom)
+EXPLAIN now outputs as a query (Tom)
+Display sort keys in EXPLAIN (Tom)
+Add 'SET LOCAL var = value' to set GUC variables for a single transaction (Tom)
+Allow ANALYZE to run in a transaction (Bruce)
+Improve COPY syntax using new WITH clauses, keep backward compatibility (Bruce)
+Fix pg_dump to consistently output tags in non-ASCII dumps (Bruce)
+Make foreign key constraints clearer in dump file (Rod)
+Add COMMENT ON CONSTRAINT (Rod)
+Allow COPY TO/FROM to specify column names (Brent Verner)
+Dump UNIQUE and PRIMARY KEY contraints as ALTER TABLE (Rod)
+Have SHOW output a query result (Joe)
+Generate failure on short COPY lines rather than pad NULLs (Neil)
+Fix CLUSTER to preserve all table attributes (Alvaro Herrera)
+New pg_settings table to view/modify GUC settings (Joe)
+Add smart quoting, portability improvements to pg_dump output (Peter)
+Dump serial columns out as SERIAL (Tom)
+Enable large file support, >2G for pg_dump (Peter, Philip Warner, Bruce)
+Disallow TRUNCATE on tables that are involved in referential constraints (Rod)
+Have TRUNCATE also auto-truncate the toast table of the relation (Tom)
+Add clusterdb utility that will auto-cluster an entire database based on
+ previous CLUSTER operations (Alvaro Herrera)
+Overhaul pg_dumpall (Peter)
+Allow REINDEX of TOAST tables (Tom)
+Implemented START TRANSACTION, per SQL99 (Neil)
+Fix rare index corruption when a page split affects bulk delete (Tom)
+Fix ALTER TABLE ... ADD COLUMN for inheritance (Alvaro Herrera)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Data Types and Functions</title>
+<literallayout>
+Fix factorial(0) to return 1 (Bruce)
+Date/time/timezone improvements (Thomas)
+Fix for array slice extraction (Tom)
+Fix extract/date_part to report proper microseconds for timestamp (Tatsuo)
+Allow text_substr() and bytea_substr() to read TOAST values more
+ efficiently (John Gray)
+Add DOMAIN type support (Rod)
+Make WITHOUT TIME ZONE the default for TIMESTAMP and TIME data types (Thomas)
+Allow alternate storage scheme of 64-bit integers for date/time types
+ using --enable-integer-datetimes in configure (Thomas)
+Make timezone(timestamptz) return timestamp rather than a string (Thomas)
+Allow fractional seconds in date/time types for dates prior to 1BC (Thomas)
+Limit timestamp data types to 6 decimal places of precision (Thomas)
+Change timezone conversion functions from timetz() to timezone() (Thomas)
+Add GUC variables datestyle and timezone (Tom)
+Add OVERLAY(), which allows substitution of a substring in a string (Thomas)
+Add SIMILAR TO as a synonym for our existing operator "~" (Thomas, Tom)
+Add regular expression SUBSTRING(string FROM pat FOR escape) (Thomas)
+Add LOCALTIME and LOCALTIMESTAMP functions (Thomas)
+Add named composite types using CREATE TYPE typename AS (column) (Joe)
+Allow composite type definition in the table alias clause (Joe)
+Add new API to simplify creation of C language table functions (Joe)
+Remove ODBC-compatible empty parentheses from calls to SQL99 functions
+ for which these parentheses do not match the standar (Thomas)
+Add appendix in the User's Guide which lists SQL92 features (Thomas)
+Allow macaddr data type to accept 12 hex digits with no separators (Mike Wyer)
+Add CREATE/DROP CAST (Thomas)
+Add IS DISTINCT FROM operator (Thomas)
+Add SQL99 TREAT() function, synonym for CAST() (Thomas)
+Add pg_backend_pid() to output backend pid (Bruce)
+Allow inet arrays in /contrib/array (Neil)
+Add IS OF / IS NOT OF type predicate (Thomas)
+Allow bit string constants without fully-specified length (Thomas)
+Allow conversion between 8-byte integers and bit strings (Thomas)
+Implement hex literal conversion to bit string literal (Thomas)
+Allow table functions to appear in the FROM clause (Joe)
+Increase maximum number of function parameters to 32 (Bruce)
+No longer automatically create index for SERIAL column (Tom)
+Add current_database() (Rod)
+Fix cash_words() to not overflow buffer (Tom)
+Add functions replace(), split_part(), to_hex() (Joe)
+Fix LIKE for bytea as a right-hand argument (Joe)
+Prevent crashes caused by SELECT cash_out(2)
+Triggers are now fired in alphabetical order (Tom)
+Add /contrib/adddepend to handle pre-7.3 object dependencies (Rod)
+Allow better casting when INSERTing/UPDATing values (Tom)
+Fix to_char(1,'FM999.99') to return a period (Karel)
+Fix trigger/type/language functions returning OPAQUE to return proper type (Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Internationalization</title>
+<literallayout>
+Add additional encodings (Korean (JOHAB), Thai (WIN874), Vietnamese (TCVN),
+ Arabic (WIN1256), Simplified Chinese (GBK), Korean (UHC) (Eiji Tokuya)
+Enable locale support by default (Peter)
+Add GUC locale variables (Peter)
+Escape byes >= 0x7f for multibyte in PQescapeBytea/PQunescapeBytea (Tatsuo)
+Add locale awareness to regular expression character classes
+Enable multibyte support by default (Tatso)
+Add GUC variables client_encoding (Tom)
+Add GB18030 multibyte support (Bill Huang)
+Add CREATE/DROP CONVERSION, allowing loadable encodings (Tatsuo, Kaori)
+Add pg_conversion table (Tatsuo)
+Add SQL99 CONVERT() function (Tatsuo)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Server-side Languages</title>
+<literallayout>
+Allow recursive SQL function (Peter)
+Change PL/Tcl build to use configured compiler and Makefile.shlib (Peter)
+Overhaul the PL/pgSQL FOUND variable to be more Oracle-compatible (Tom, Neil)
+Allow PL/pgSQL to handle quoted identifiers (Tom)
+Allow set-returning PL/pgSQL functions (Neil)
+Make PL/pgSQL schema-aware (Joe)
+Remove some memory leaks (Nigel J. Andrews, Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Psql</title>
+<literallayout>
+Don't lowercase psql \connect database name for 7.2.0 compatibility (Tom)
+Add psql \timing to time user queries (Greg Sabino Mullane)
+Have psql \d show index information (Greg Sabino Mullane)
+New psql \dD shows domains (Jonathan Eisler)
+Allow psql to show rules on views (Paul ?)
+Fix for psql variable substitution (Tom)
+Allow psql \d to show temporary table structure (Tom)
+Allow psql \d to show foreign keys (Rod)
+Fix \? to honor \pset pager (Bruce)
+Have psql reports its version number on startup (Tom)
+Allow \copy to specify column names (Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Libpq</title>
+<literallayout>
+Add PQunescapeBytea() function to libpq (Patrick Welche)
+Fix for sending large queries over non-blocking connections (Bernhard Herzog)
+Fix for libpq using timers on Win9X (David Ford)
+Allow libpq notify to handle servers with different-length identifiers (Tom)
+Add libpq PQescapeString() and PQescapeBytea() to Win32 (Bruce)
+Fix for SSL with non-blocking connections (Jack Bates)
+Add libpq connection timeout parameter (Denis A Ustimenko)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>JDBC</title>
+<literallayout>
+Allow jdbc to compile with jdk 1.4 (Dave)
+Add jdbc3 support (Barry)
+Allows jdbc to set loglevel by adding ?loglevel=X to the connection URL (Barry)
+Add jdbc Driver.info() message that prints out the version number (Barry)
+Add jdbc updateable result sets (Raghu Nidagal, Dave)
+Add jdbc support for callable statements (Paul Bethe)
+Add jdbc query cancel capability
+Add refresh row to jdbc (Dave)
+Fix jdbc MD5 encryption handling for multibyte servers (Jun Kawai)
+Add JDBC support for prepared statements (Barry)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>ECPG</title>
+<literallayout>
+Fixed ecpg bug concerning octal numbers in single quotes (Michael)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Miscellaneous Interfaces</title>
+<literallayout>
+Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce)
+Improve python (Elliot Lee, Andrew Johnson, Greg Copeland)
+Add libpgtcl connection close event (Gerhard Hintermayer)
+Move /interfaces/libpq++ to http://gborg.postgresql.org (Marc, Bruce)
+Move /interfaces/odbc to http://gborg.postgresql.org (Marc)
+Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce)
+Move /interfaces/perl5 to http://gborg.postgresql.org (Marc, Bruce)
+Remove /bin/pgaccess from main tree, now at http://www.pgaccess.org (Bruce)
+Add pg_on_connection_loss command to libpgtcl (Gerhard Hintermayer, Tom)
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Build and Install</title>
+<literallayout>
+Fix for parallel make (Peter)
+AIX fixes for linking TCL (Andreas Zeugswetter)
+Allow plperl to build under Cygwin (Jason Tishler)
+Improve MIPS compiles (Peter, Oliver Elphick)
+Require autoconf version 2.53 (Peter)
+Require readline and zlib by default in configure (Peter)
+Allow Solaris to use Intimate Shared Memory (ISM), for performance
+ (Scott Brunza, P.J. Josh Rovero)
+Always enable syslog in compile, remove --enable-syslog option (Tatsuo)
+Always enable multibyte in compile, remove --enable-multibyte option (Tatsuo)
+Always enable locale in compile, remove --enable-locale option (Tatsuo)
+Fix for Win9x DLL creation (Magnus Naeslund)
+Fix for link() usage by WAL code on Win32, Netware, BeOS (Jason Tishler)
+Add sys/types.h to c.h, remove from main files (Peter, Bruce)
+Fix AIX hang on SMP machines (Tomoyuki Niijima)
+AIX SMP hang fix (Tomoyuki Niijima)
+Fix pre-1970 date handling on newer glibc libraries (Tom)
+Fix PowerPC SMP locking (Tom)
+Prevent gcc -ffast-math from being used (Tom)
+Bison &gt;= 1.50 now required for developer builds
+</literallayout>
+ </sect3>
+
+ <sect3>
+ <title>Source Code</title>
<literallayout>
- TO BE FILLED IN. SEE /HISTORY.
+Improve loadable module linking to use RTLD_NOW (Tom)
+New error levels WARNING, INFO, LOG, DEBUG[1-5] (Bruce)
+New src/port directory holds replace libc functions (Peter, Bruce)
+New pg_namespace system catalog for schemas (Tom)
+Add pg_class.relnamespace for schemas (Tom)
+Add pg_type.typnamespace for schemas (Tom)
+Add pg_proc.pronamespace for schemas (Tom)
+Restructure aggregates to have pg_proc entries (Tom)
+System relations now have their own namespace, pg_* test not required
+ (Fernando Nasser)
+Rename TOAST index names to be *_index rather than *_idx (Neil)
+Add namespaces for operators, opclasses (Tom)
+Add additional checks to server control file (Thomas)
+New Polish FAQ (Marcin Mazurek)
+Add Posix semaphore support (Tom)
+Document need for reindex (Bruce)
+Rename some internal identifiers to simplify Win32 compile (Jan, Katherine Ward)
+Add documentation on computing disk space (Bruce)
+Remove KSQO from GUC (Bruce)
+Fix memory leak in rtree (Kenneth Been)
+Modify a few error messages for consistency (Bruce)
+Remove unused system table columns (Peter)
+Make system columns NOT NULL where appropriate (Tom)
+Clean up use of sprintf in favor of snprintf() (Neil, Jukka Holappa)
+Remove OPAQUE and create specific subtypes (Tom)
+Cleanups in array internal handling (Joe, Tom)
+Disallow pg_atoi('') (Bruce)
+Remove GUC parameter wal_files because WAL files are now recycled (Bruce)
+Add version numbers to heap pages (Tom)
</literallayout>
</sect3>
+
+ <sect3>
+ <title>Contrib</title>
+<literallayout>
+Gist fixes (Teodor Sigaev, Neil)
+Upgrade /contrib/mysql
+Add /contrib/dbsize which shows table sizes without vacuum (Peter)
+Add /contrib/intagg, integer aggregator routines (mlw)
+Improve /contrib/Oid2name (Neil, Bruce)
+Improve /contrib/tsearch (Teodor Sigaev)
+Improve /contrib/tsearch (Oleg)
+Cleanups of /contrib/rserver (Alexey V. Borzov)
+Update /contrib/oracle conversion utility (Gilles Darold)
+Update /contrib/dblink (Joe)
+Improve options supported by /contrib/vacuumlo (Mario Weilguni)
+Improvements to /contrib/intarray (Oleg, Teodor Sigaev, Andrey Oktyabrski)
+Add /contrib/reindexdb utility (Shaun Thomas)
+Add indexing to /contrib/isbn_issn (Dan Weston)
+Add /contrib/dbmirror (Steven Singer)
+Improve /contrib/pgbench (Neil)
+Add /contrib/tablefunc table function examples (Joe)
+Add /contrib/ltree data type for tree structures (Teodor Sigaev, Oleg Bartunov)
+Move /contrib/pg_controldata into main tree (Bruce)
+Fixes to /contrib/cube (Bruno Wolff)
+Improve /contrib/fulltextindex (Christopher)
+</literallayout>
+ </sect3>
+
</sect2>
</sect1>