Commit ff47b851 authored by Bruce Momjian's avatar Bruce Momjian

First update of release notes for 7.4.2. Still needs work.

parent 39042637
Release Notes Release Notes
Release 7.4.2
Release date: 2004-03-??
This release contains a variety of fixes from 7.4.1.
_________________________________________________________________
Migration to version 7.4.2
A dump/restore is *not* required for those running 7.4.X.
_________________________________________________________________
Changes
As of 2004-03-02
* Fix problems with ALTER TABLE during concurrent access (Tom)
* Improve hash build reliability (Tom)
* Fix statistics alignment bug that could affect optimizer, initdb
required (Tom)
* Optimizer improvements (Tom)
* Permission fix for view updates (Tom)
* Allow non-super users to update pg_settings (Tom)
* Fix for multibyte handling in position() (Korea PostgreSQL Users'
Group)
* Various multibyte fixes
* Fix problem with hitting open file limit, especially on OS X (Tom)
* Have pg_dump set client encoding on restore (Tom)
* Allow ecpg to again use C keywords as column names (Michael)
* Added ecpg WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE
(Michael)
* Fix ecpg crash for queries calling set-returning functions
(Michael)
* Various ecpg fixes (Michael)
* Fixes for Borland compiler
* Thread build improvements (Bruce)
* Fix for configure --disable-shared support (Tom)
* Various build fixes
* Various jdbc fixes
_________________________________________________________________
Release 7.4.1 Release 7.4.1
Release date: 2003-12-22 Release date: 2003-12-22
This release contains a variety of fixes from 7.4. This release contains a variety of fixes from 7.4.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.4.1 Migration to version 7.4.1
A dump/restore is *not* required for those running 7.4. A dump/restore is *not* required for those running 7.4.
If you want to install the fixes in the information schema you need to If you want to install the fixes in the information schema you need to
reload it into the database. This is either accomplished by reload it into the database. This is either accomplished by
initializing a new cluster by running "initdb", or by running the initializing a new cluster by running "initdb", or by running the
...@@ -22,8 +63,8 @@ DROP SCHEMA information_schema CASCADE; ...@@ -22,8 +63,8 @@ DROP SCHEMA information_schema CASCADE;
Substitute your installation path in the second command. Substitute your installation path in the second command.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Fixed bug in "CREATE SCHEMA" parsing in ECPG (Michael) * Fixed bug in "CREATE SCHEMA" parsing in ECPG (Michael)
* Fix compile error when "--enable-thread-safety" and "--with-perl" * Fix compile error when "--enable-thread-safety" and "--with-perl"
...@@ -80,16 +121,16 @@ DROP SCHEMA information_schema CASCADE; ...@@ -80,16 +121,16 @@ DROP SCHEMA information_schema CASCADE;
dbname (Bruce) dbname (Bruce)
* Fix local ident authentication on FreeBSD (Tom) * Fix local ident authentication on FreeBSD (Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.4 Release 7.4
Release date: 2003-11-17 Release date: 2003-11-17
_________________________________________________________________ _________________________________________________________________
Overview Overview
Major changes in this release: Major changes in this release:
IN / NOT IN subqueries are now much more efficient IN / NOT IN subqueries are now much more efficient
In previous releases, IN/NOT IN subqueries were joined to the In previous releases, IN/NOT IN subqueries were joined to the
upper query by sequentially scanning the subquery looking for a upper query by sequentially scanning the subquery looking for a
...@@ -98,46 +139,46 @@ DROP SCHEMA information_schema CASCADE; ...@@ -98,46 +139,46 @@ DROP SCHEMA information_schema CASCADE;
be as fast as or faster than an equivalent EXISTS subquery; be as fast as or faster than an equivalent EXISTS subquery;
this reverses the conventional wisdom that applied to previous this reverses the conventional wisdom that applied to previous
releases. releases.
Improved GROUP BY processing by using hash buckets Improved GROUP BY processing by using hash buckets
In previous releases, rows to be grouped had to be sorted In previous releases, rows to be grouped had to be sorted
first. The 7.4 code can do GROUP BY without sorting, by first. The 7.4 code can do GROUP BY without sorting, by
accumulating results into a hash table with one entry per accumulating results into a hash table with one entry per
group. It will still use the sort technique, however, if the group. It will still use the sort technique, however, if the
hash table is estimated to be too large to fit in sort_mem. hash table is estimated to be too large to fit in sort_mem.
New multikey hash join capability New multikey hash join capability
In previous releases, hash joins could only occur on single In previous releases, hash joins could only occur on single
keys. This release allows multicolumn hash joins. keys. This release allows multicolumn hash joins.
Queries using the explicit JOIN syntax are now better optimized Queries using the explicit JOIN syntax are now better optimized
Prior releases evaluated queries using the explicit JOIN syntax Prior releases evaluated queries using the explicit JOIN syntax
only in the order implied by the syntax. 7.4 allows full only in the order implied by the syntax. 7.4 allows full
optimization of these queries, meaning the optimizer considers optimization of these queries, meaning the optimizer considers
all possible join orderings and chooses the most efficient. all possible join orderings and chooses the most efficient.
Outer joins, however, must still follow the declared ordering. Outer joins, however, must still follow the declared ordering.
Faster and more powerful regular expression code Faster and more powerful regular expression code
The entire regular expression module has been replaced with a The entire regular expression module has been replaced with a
new version by Henry Spencer, originally written for Tcl. The new version by Henry Spencer, originally written for Tcl. The
code greatly improves performance and supports several flavors code greatly improves performance and supports several flavors
of regular expressions. of regular expressions.
Function-inlining for simple SQL functions Function-inlining for simple SQL functions
Simple SQL functions can now be inlined by including their SQL Simple SQL functions can now be inlined by including their SQL
in the main query. This improves performance by eliminating in the main query. This improves performance by eliminating
per-call overhead. That means simple SQL functions now behave per-call overhead. That means simple SQL functions now behave
like macros. like macros.
Full support for IPv6 connections and IPv6 address data types Full support for IPv6 connections and IPv6 address data types
Previous releases allowed only IPv4 connections, and the IP Previous releases allowed only IPv4 connections, and the IP
data types only supported IPv4 addresses. This release adds data types only supported IPv4 addresses. This release adds
full IPv6 support in both of these areas. full IPv6 support in both of these areas.
Major improvements in SSL performance and reliability Major improvements in SSL performance and reliability
Several people very familiar with the SSL API have overhauled Several people very familiar with the SSL API have overhauled
our SSL code to improve SSL key negotiation and error recovery. our SSL code to improve SSL key negotiation and error recovery.
Make free space map efficiently reuse empty index pages, and other Make free space map efficiently reuse empty index pages, and other
free space management improvements free space management improvements
In previous releases, B-tree index pages that were left empty In previous releases, B-tree index pages that were left empty
...@@ -145,19 +186,19 @@ DROP SCHEMA information_schema CASCADE; ...@@ -145,19 +186,19 @@ DROP SCHEMA information_schema CASCADE;
values similar to the rows originally indexed on that page. In values similar to the rows originally indexed on that page. In
7.4, "VACUUM" records empty index pages and allows them to be 7.4, "VACUUM" records empty index pages and allows them to be
reused for any future index rows. reused for any future index rows.
SQL-standard information schema SQL-standard information schema
The information schema provides a standardized and stable way The information schema provides a standardized and stable way
to access information about the schema objects defined in a to access information about the schema objects defined in a
database. database.
Cursors conform more closely to the SQL standard Cursors conform more closely to the SQL standard
The commands "FETCH" and "MOVE" have been overhauled to conform The commands "FETCH" and "MOVE" have been overhauled to conform
more closely to the SQL standard. more closely to the SQL standard.
Cursors can exist outside transactions Cursors can exist outside transactions
These cursors are also called holdable cursors. These cursors are also called holdable cursors.
New client-to-server protocol New client-to-server protocol
The new protocol adds error codes, more status information, The new protocol adds error codes, more status information,
faster startup, better support for binary data transmission, faster startup, better support for binary data transmission,
...@@ -165,35 +206,35 @@ DROP SCHEMA information_schema CASCADE; ...@@ -165,35 +206,35 @@ DROP SCHEMA information_schema CASCADE;
statements available at the protocol level, and cleaner statements available at the protocol level, and cleaner
recovery from "COPY" failures. The older protocol is still recovery from "COPY" failures. The older protocol is still
supported by both server and clients. supported by both server and clients.
libpq and ECPG applications are now fully thread-safe libpq and ECPG applications are now fully thread-safe
While previous libpq releases already supported threads, this While previous libpq releases already supported threads, this
release improves thread safety by fixing some non-thread-safe release improves thread safety by fixing some non-thread-safe
code that was used during database connection startup. The code that was used during database connection startup. The
"configure" option "--enable-thread-safety" must be used to "configure" option "--enable-thread-safety" must be used to
enable this feature. enable this feature.
New version of full-text indexing New version of full-text indexing
A new full-text indexing suite is available in A new full-text indexing suite is available in
"contrib/tsearch2". "contrib/tsearch2".
New autovacuum tool New autovacuum tool
The new autovacuum tool in "contrib/autovacuum" monitors the The new autovacuum tool in "contrib/autovacuum" monitors the
database statistics tables for "INSERT"/"UPDATE"/"DELETE" database statistics tables for "INSERT"/"UPDATE"/"DELETE"
activity and automatically vacuums tables when needed. activity and automatically vacuums tables when needed.
Array handling has been improved and moved into the server core Array handling has been improved and moved into the server core
Many array limitations have been removed, and arrays behave Many array limitations have been removed, and arrays behave
more like fully-supported data types. more like fully-supported data types.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.4 Migration to version 7.4
A dump/restore using pg_dump is required for those wishing to migrate A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release. data from any previous release.
Observe the following incompatibilities: Observe the following incompatibilities:
* The server-side autocommit setting was removed and reimplemented * The server-side autocommit setting was removed and reimplemented
in client applications and languages. Server-side autocommit was in client applications and languages. Server-side autocommit was
causing too many problems with languages and applications that causing too many problems with languages and applications that
...@@ -250,13 +291,13 @@ DROP SCHEMA information_schema CASCADE; ...@@ -250,13 +291,13 @@ DROP SCHEMA information_schema CASCADE;
syntax problems when parameter placeholders ($n) are written syntax problems when parameter placeholders ($n) are written
adjacent to operators. adjacent to operators.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Below you will find a detailed account of the changes between release Below you will find a detailed account of the changes between release
7.4 and the previous major release. 7.4 and the previous major release.
_________________________________________________________________ _________________________________________________________________
Server Operation Changes Server Operation Changes
* Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, * Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce,
...@@ -304,7 +345,7 @@ Server Operation Changes ...@@ -304,7 +345,7 @@ Server Operation Changes
* New error message wording, error codes, and three levels of error * New error message wording, error codes, and three levels of error
detail (Tom, Joe, Peter) detail (Tom, Joe, Peter)
_________________________________________________________________ _________________________________________________________________
Performance Improvements Performance Improvements
* Add hashing for GROUP BY aggregates (Tom) * Add hashing for GROUP BY aggregates (Tom)
...@@ -365,7 +406,7 @@ Performance Improvements ...@@ -365,7 +406,7 @@ Performance Improvements
numeric used to be stored in base 100. The new code uses base numeric used to be stored in base 100. The new code uses base
10000, for significantly better performance. 10000, for significantly better performance.
_________________________________________________________________ _________________________________________________________________
Server Configuration Changes Server Configuration Changes
* Rename server parameter server_min_messages to log_min_messages * Rename server parameter server_min_messages to log_min_messages
...@@ -431,7 +472,7 @@ Server Configuration Changes ...@@ -431,7 +472,7 @@ Server Configuration Changes
processing (Tom) processing (Tom)
* Make "pg_ctl" better handle nonstandard ports (Greg) * Make "pg_ctl" better handle nonstandard ports (Greg)
_________________________________________________________________ _________________________________________________________________
Query Changes Query Changes
* New SQL-standard information schema (Peter) * New SQL-standard information schema (Peter)
...@@ -463,7 +504,7 @@ Query Changes ...@@ -463,7 +504,7 @@ Query Changes
expressions. expressions.
* Implement CREATE TABLE AS EXECUTE (Neil, Peter) * Implement CREATE TABLE AS EXECUTE (Neil, Peter)
_________________________________________________________________ _________________________________________________________________
Object Manipulation Changes Object Manipulation Changes
* Make "CREATE SEQUENCE" grammar more conforming to SQL 2003 (Neil) * Make "CREATE SEQUENCE" grammar more conforming to SQL 2003 (Neil)
...@@ -501,7 +542,7 @@ Object Manipulation Changes ...@@ -501,7 +542,7 @@ Object Manipulation Changes
This enabled "GRANT" to give other users the ability to grant This enabled "GRANT" to give other users the ability to grant
privileges on a object. privileges on a object.
_________________________________________________________________ _________________________________________________________________
Utility Command Changes Utility Command Changes
* Add ON COMMIT clause to "CREATE TABLE" for temporary tables * Add ON COMMIT clause to "CREATE TABLE" for temporary tables
...@@ -571,7 +612,7 @@ Utility Command Changes ...@@ -571,7 +612,7 @@ Utility Command Changes
reindexing are the global system tables pg_database, pg_shadow, reindexing are the global system tables pg_database, pg_shadow,
and pg_group. and pg_group.
_________________________________________________________________ _________________________________________________________________
Data Type and Function Changes Data Type and Function Changes
* New server parameter extra_float_digits to control precision * New server parameter extra_float_digits to control precision
...@@ -650,7 +691,7 @@ Data Type and Function Changes ...@@ -650,7 +691,7 @@ Data Type and Function Changes
* Make pg_get_constraintdef to support unique, primary-key, and * Make pg_get_constraintdef to support unique, primary-key, and
check constraints (Christopher) check constraints (Christopher)
_________________________________________________________________ _________________________________________________________________
Server-Side Language Changes Server-Side Language Changes
* Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row * Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row
...@@ -677,7 +718,7 @@ Server-Side Language Changes ...@@ -677,7 +718,7 @@ Server-Side Language Changes
* Fixed PL/Tcl's spi_prepare to accept fully qualified type names in * Fixed PL/Tcl's spi_prepare to accept fully qualified type names in
the parameter type list (Jan) the parameter type list (Jan)
_________________________________________________________________ _________________________________________________________________
psql Changes psql Changes
* Add \pset pager always to always use pager (Greg) * Add \pset pager always to always use pager (Greg)
...@@ -704,7 +745,7 @@ psql Changes ...@@ -704,7 +745,7 @@ psql Changes
* New prompt escape sequence %x to show transaction status (Tom) * New prompt escape sequence %x to show transaction status (Tom)
* Long options for psql are now available on all platforms * Long options for psql are now available on all platforms
_________________________________________________________________ _________________________________________________________________
pg_dump Changes pg_dump Changes
* Multiple pg_dump fixes, including tar format and large objects * Multiple pg_dump fixes, including tar format and large objects
...@@ -727,7 +768,7 @@ pg_dump Changes ...@@ -727,7 +768,7 @@ pg_dump Changes
* Long options for pg_dump are now available on all platforms * Long options for pg_dump are now available on all platforms
PostgreSQL now includes its own long-option processing routines. PostgreSQL now includes its own long-option processing routines.
_________________________________________________________________ _________________________________________________________________
libpq Changes libpq Changes
* Add function PQfreemem for freeing memory on Windows, suggested * Add function PQfreemem for freeing memory on Windows, suggested
...@@ -761,7 +802,7 @@ libpq Changes ...@@ -761,7 +802,7 @@ libpq Changes
* Add function PQexecPrepared and PQsendQueryPrepared functions * Add function PQexecPrepared and PQsendQueryPrepared functions
which perform bind/execute of previously prepared statements (Tom) which perform bind/execute of previously prepared statements (Tom)
_________________________________________________________________ _________________________________________________________________
JDBC Changes JDBC Changes
* Allow setNull on updateable result sets * Allow setNull on updateable result sets
...@@ -770,7 +811,7 @@ JDBC Changes ...@@ -770,7 +811,7 @@ JDBC Changes
* Handle schema names in result sets (Paul Sorenson) * Handle schema names in result sets (Paul Sorenson)
* Add refcursor support (Nic Ferrier) * Add refcursor support (Nic Ferrier)
_________________________________________________________________ _________________________________________________________________
Miscellaneous Interface Changes Miscellaneous Interface Changes
* Prevent possible memory leak or core dump during libpgtcl shutdown * Prevent possible memory leak or core dump during libpgtcl shutdown
...@@ -786,7 +827,7 @@ Miscellaneous Interface Changes ...@@ -786,7 +827,7 @@ Miscellaneous Interface Changes
time. time.
* Moved Python client PyGreSQL to http://www.pygresql.org (Marc) * Moved Python client PyGreSQL to http://www.pygresql.org (Marc)
_________________________________________________________________ _________________________________________________________________
Source Code Changes Source Code Changes
* Prevent need for separate platform geometry regression result * Prevent need for separate platform geometry regression result
...@@ -817,7 +858,7 @@ Source Code Changes ...@@ -817,7 +858,7 @@ Source Code Changes
than silently using semaphores. This failure can be disabled with than silently using semaphores. This failure can be disabled with
a new "configure" option. a new "configure" option.
_________________________________________________________________ _________________________________________________________________
Contrib Changes Contrib Changes
* Change dbmirror license to BSD * Change dbmirror license to BSD
...@@ -846,20 +887,20 @@ Contrib Changes ...@@ -846,20 +887,20 @@ Contrib Changes
Márcio Smiderle) Márcio Smiderle)
* Remove array module because features now included by default (Joe) * Remove array module because features now included by default (Joe)
_________________________________________________________________ _________________________________________________________________
Release 7.3.6 Release 7.3.6
Release date: 2004-03-02 Release date: 2004-03-02
This release contains a variety of fixes from 7.3.5. This release contains a variety of fixes from 7.3.5.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.6 Migration to version 7.3.6
A dump/restore is *not* required for those running 7.3.*. A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Revert erroneous changes in rule permissions checking * Revert erroneous changes in rule permissions checking
A patch applied in 7.3.3 to fix a corner case in rule permissions A patch applied in 7.3.3 to fix a corner case in rule permissions
...@@ -889,20 +930,20 @@ Contrib Changes ...@@ -889,20 +930,20 @@ Contrib Changes
* Fix index optimization and selectivity estimates for LIKE * Fix index optimization and selectivity estimates for LIKE
operations on bytea columns (Joe) operations on bytea columns (Joe)
_________________________________________________________________ _________________________________________________________________
Release 7.3.5 Release 7.3.5
Release date: 2003-12-03 Release date: 2003-12-03
This has a variety of fixes from 7.3.4. This has a variety of fixes from 7.3.4.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.5 Migration to version 7.3.5
A dump/restore is *not* required for those running 7.3.*. A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Force zero_damaged_pages to be on during recovery from WAL * Force zero_damaged_pages to be on during recovery from WAL
* Prevent some obscure cases of "variable not in subplan target * Prevent some obscure cases of "variable not in subplan target
...@@ -936,20 +977,20 @@ Contrib Changes ...@@ -936,20 +977,20 @@ Contrib Changes
* Fix corner case for btree search in parallel with first root page * Fix corner case for btree search in parallel with first root page
split split
_________________________________________________________________ _________________________________________________________________
Release 7.3.4 Release 7.3.4
Release date: 2003-07-24 Release date: 2003-07-24
This has a variety of fixes from 7.3.3. This has a variety of fixes from 7.3.3.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.4 Migration to version 7.3.4
A dump/restore is *not* required for those running 7.3.*. A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Repair breakage in timestamp-to-date conversion for dates before * Repair breakage in timestamp-to-date conversion for dates before
2000 2000
...@@ -963,20 +1004,20 @@ Contrib Changes ...@@ -963,20 +1004,20 @@ Contrib Changes
* Properly escape jdbc setObject() strings to improve security * Properly escape jdbc setObject() strings to improve security
(Barry) (Barry)
_________________________________________________________________ _________________________________________________________________
Release 7.3.3 Release 7.3.3
Release date: 2003-05-22 Release date: 2003-05-22
This release contains a variety of fixes for version 7.3.2. This release contains a variety of fixes for version 7.3.2.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.3 Migration to version 7.3.3
A dump/restore is *not* required for those running version 7.3.*. A dump/restore is *not* required for those running version 7.3.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Repair sometimes-incorrect computation of StartUpID after a crash * Repair sometimes-incorrect computation of StartUpID after a crash
* Avoid slowness with lots of deferred triggers in one transaction * Avoid slowness with lots of deferred triggers in one transaction
...@@ -1086,20 +1127,20 @@ Contrib Changes ...@@ -1086,20 +1127,20 @@ Contrib Changes
* Fixed problem with parsing table ACLs in JDBC * Fixed problem with parsing table ACLs in JDBC
* Better error message for character set conversion problems in JDBC * Better error message for character set conversion problems in JDBC
_________________________________________________________________ _________________________________________________________________
Release 7.3.2 Release 7.3.2
Release date: 2003-02-04 Release date: 2003-02-04
This release contains a variety of fixes for version 7.3.1. This release contains a variety of fixes for version 7.3.1.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.2 Migration to version 7.3.2
A dump/restore is *not* required for those running version 7.3.*. A dump/restore is *not* required for those running version 7.3.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Restore creation of OID column in CREATE TABLE AS / SELECT INTO * Restore creation of OID column in CREATE TABLE AS / SELECT INTO
* Fix pg_dump core dump when dumping views having comments * Fix pg_dump core dump when dumping views having comments
...@@ -1142,23 +1183,23 @@ Contrib Changes ...@@ -1142,23 +1183,23 @@ Contrib Changes
* Add casts between types lo and oid in contrib/lo * Add casts between types lo and oid in contrib/lo
* fastpath code now checks for privilege to call function * fastpath code now checks for privilege to call function
_________________________________________________________________ _________________________________________________________________
Release 7.3.1 Release 7.3.1
Release date: 2002-12-18 Release date: 2002-12-18
This release contains a variety of fixes for version 7.3. This release contains a variety of fixes for version 7.3.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3.1 Migration to version 7.3.1
A dump/restore is *not* required for those running version 7.3. A dump/restore is *not* required for those running version 7.3.
However, it should be noted that the main PostgreSQL interface However, it should be noted that the main PostgreSQL interface
library, libpq, has a new major version number for this release, which library, libpq, has a new major version number for this release, which
may require recompilation of client code in certain cases. may require recompilation of client code in certain cases.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Fix a core dump of COPY TO when client/server encodings don't * Fix a core dump of COPY TO when client/server encodings don't
match (Tom) match (Tom)
...@@ -1180,59 +1221,59 @@ Contrib Changes ...@@ -1180,59 +1221,59 @@ Contrib Changes
* SSL fixes (Nathan Mueller) * SSL fixes (Nathan Mueller)
* Prevent composite column creation via ALTER TABLE (Tom) * Prevent composite column creation via ALTER TABLE (Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.3 Release 7.3
Release date: 2002-11-27 Release date: 2002-11-27
_________________________________________________________________ _________________________________________________________________
Overview Overview
Major changes in this release: Major changes in this release:
Schemas Schemas
Schemas allow users to create objects in separate namespaces, Schemas allow users to create objects in separate namespaces,
so two people or applications can have tables with the same so two people or applications can have tables with the same
name. There is also a public schema for shared tables. name. There is also a public schema for shared tables.
Table/index creation can be restricted by removing privileges Table/index creation can be restricted by removing privileges
on the public schema. on the public schema.
Drop Column Drop Column
PostgreSQL now supports the ALTER TABLE ... DROP COLUMN PostgreSQL now supports the ALTER TABLE ... DROP COLUMN
functionality. functionality.
Table Functions Table Functions
Functions returning multiple rows and/or multiple columns are Functions returning multiple rows and/or multiple columns are
now much easier to use than before. You can call such a "table now much easier to use than before. You can call such a "table
function" in the SELECT FROM clause, treating its output like a function" in the SELECT FROM clause, treating its output like a
table. Also, PL/pgSQL functions can now return sets. table. Also, PL/pgSQL functions can now return sets.
Prepared Queries Prepared Queries
PostgreSQL now supports prepared queries, for improved PostgreSQL now supports prepared queries, for improved
performance. performance.
Dependency Tracking Dependency Tracking
PostgreSQL now records object dependencies, which allows PostgreSQL now records object dependencies, which allows
improvements in many areas. "DROP" statements now take either improvements in many areas. "DROP" statements now take either
CASCADE or RESTRICT to control whether dependent objects are CASCADE or RESTRICT to control whether dependent objects are
also dropped. also dropped.
Privileges Privileges
Functions and procedural languages now have privileges, and Functions and procedural languages now have privileges, and
functions can be defined to run with the privileges of their functions can be defined to run with the privileges of their
creator. creator.
Internationalization Internationalization
Both multibyte and locale support are now always enabled. Both multibyte and locale support are now always enabled.
Logging Logging
A variety of logging options have been enhanced. A variety of logging options have been enhanced.
Interfaces Interfaces
A large number of interfaces have been moved to A large number of interfaces have been moved to
http://gborg.postgresql.org where they can be developed and http://gborg.postgresql.org where they can be developed and
released independently. released independently.
Functions/Identifiers Functions/Identifiers
By default, functions can now take up to 32 parameters, and By default, functions can now take up to 32 parameters, and
identifiers can be up to 63 bytes long. Also, OPAQUE is now identifiers can be up to 63 bytes long. Also, OPAQUE is now
...@@ -1240,17 +1281,17 @@ Contrib Changes ...@@ -1240,17 +1281,17 @@ Contrib Changes
each of the former meanings of OPAQUE in function argument and each of the former meanings of OPAQUE in function argument and
result types. result types.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.3 Migration to version 7.3
A dump/restore using pg_dump is required for those wishing to migrate A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release. If your application examines the data from any previous release. If your application examines the
system catalogs, additional changes will be required due to 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://developer.postgresql.org/~momjian/upgrade_tips_7.3. http://developer.postgresql.org/~momjian/upgrade_tips_7.3.
Observe the following incompatibilities: Observe the following incompatibilities:
* Pre-6.3 clients are no longer supported. * Pre-6.3 clients are no longer supported.
* "pg_hba.conf" now has a column for the user name and additional * "pg_hba.conf" now has a column for the user name and additional
features. Existing files need to be adjusted. features. Existing files need to be adjusted.
...@@ -1275,8 +1316,8 @@ Contrib Changes ...@@ -1275,8 +1316,8 @@ Contrib Changes
* An empty string ('') is no longer allowed as the input into an * An empty string ('') is no longer allowed as the input into an
integer field. Formerly, it was silently interpreted as 0. integer field. Formerly, it was silently interpreted as 0.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Server Operation Server Operation
...@@ -1287,7 +1328,7 @@ Server Operation ...@@ -1287,7 +1328,7 @@ Server Operation
* Reserve the last few backend slots for superusers, add parameter * Reserve the last few backend slots for superusers, add parameter
superuser_reserved_connections to control this (Nigel J. Andrews) superuser_reserved_connections to control this (Nigel J. Andrews)
_________________________________________________________________ _________________________________________________________________
Performance Performance
* Improve startup by calling localtime() only once (Tom) * Improve startup by calling localtime() only once (Tom)
...@@ -1315,7 +1356,7 @@ Performance ...@@ -1315,7 +1356,7 @@ Performance
Marshall, Tom) Marshall, Tom)
* Improved WAL write concurrency (Tom) * Improved WAL write concurrency (Tom)
_________________________________________________________________ _________________________________________________________________
Privileges Privileges
* Add privileges on functions and procedural languages (Peter) * Add privileges on functions and procedural languages (Peter)
...@@ -1327,7 +1368,7 @@ Privileges ...@@ -1327,7 +1368,7 @@ Privileges
* Allow functions to be executed with the privilege of the function * Allow functions to be executed with the privilege of the function
owner (Peter) owner (Peter)
_________________________________________________________________ _________________________________________________________________
Server Configuration Server Configuration
* Server log messages now tagged with LOG, not DEBUG (Bruce) * Server log messages now tagged with LOG, not DEBUG (Bruce)
...@@ -1357,7 +1398,7 @@ Server Configuration ...@@ -1357,7 +1398,7 @@ Server Configuration
* Add param log_min_error_statement to print commands to logs on * Add param log_min_error_statement to print commands to logs on
error (Gavin) error (Gavin)
_________________________________________________________________ _________________________________________________________________
Queries Queries
* Make cursors insensitive, meaning their contents do not change * Make cursors insensitive, meaning their contents do not change
...@@ -1384,7 +1425,7 @@ Queries ...@@ -1384,7 +1425,7 @@ Queries
* Allow FOR UPDATE to appear after LIMIT/OFFSET (Bruce) * Allow FOR UPDATE to appear after LIMIT/OFFSET (Bruce)
* Add variable autocommit (Tom, David Van Wie) * Add variable autocommit (Tom, David Van Wie)
_________________________________________________________________ _________________________________________________________________
Object Manipulation Object Manipulation
* Make equals signs optional in CREATE DATABASE (Gavin Sherry) * Make equals signs optional in CREATE DATABASE (Gavin Sherry)
...@@ -1424,7 +1465,7 @@ Object Manipulation ...@@ -1424,7 +1465,7 @@ Object Manipulation
* Add /contrib/adddepend to handle pre-7.3 object dependencies (Rod) * Add /contrib/adddepend to handle pre-7.3 object dependencies (Rod)
* Allow better casting when inserting/updating values (Tom) * Allow better casting when inserting/updating values (Tom)
_________________________________________________________________ _________________________________________________________________
Utility Commands Utility Commands
* Have COPY TO output embedded carriage returns and newlines as \r * Have COPY TO output embedded carriage returns and newlines as \r
...@@ -1474,7 +1515,7 @@ Utility Commands ...@@ -1474,7 +1515,7 @@ Utility Commands
(Tom) (Tom)
* Fix ALTER TABLE ... ADD COLUMN for inheritance (Alvaro Herrera) * Fix ALTER TABLE ... ADD COLUMN for inheritance (Alvaro Herrera)
_________________________________________________________________ _________________________________________________________________
Data Types and Functions Data Types and Functions
* Fix factorial(0) to return 1 (Bruce) * Fix factorial(0) to return 1 (Bruce)
...@@ -1534,7 +1575,7 @@ Data Types and Functions ...@@ -1534,7 +1575,7 @@ Data Types and Functions
* Fix trigger/type/language functions returning OPAQUE to return * Fix trigger/type/language functions returning OPAQUE to return
proper type (Tom) proper type (Tom)
_________________________________________________________________ _________________________________________________________________
Internationalization Internationalization
* Add additional encodings: Korean (JOHAB), Thai (WIN874), * Add additional encodings: Korean (JOHAB), Thai (WIN874),
...@@ -1555,7 +1596,7 @@ Internationalization ...@@ -1555,7 +1596,7 @@ Internationalization
aware (Peter) aware (Peter)
* New and updated translations * New and updated translations
_________________________________________________________________ _________________________________________________________________
Server-side Languages Server-side Languages
* Allow recursive SQL function (Peter) * Allow recursive SQL function (Peter)
...@@ -1568,7 +1609,7 @@ Server-side Languages ...@@ -1568,7 +1609,7 @@ Server-side Languages
* Make PL/pgSQL schema-aware (Joe) * Make PL/pgSQL schema-aware (Joe)
* Remove some memory leaks (Nigel J. Andrews, Tom) * Remove some memory leaks (Nigel J. Andrews, Tom)
_________________________________________________________________ _________________________________________________________________
psql psql
* Don't lowercase psql \connect database name for 7.2.0 * Don't lowercase psql \connect database name for 7.2.0
...@@ -1584,7 +1625,7 @@ psql ...@@ -1584,7 +1625,7 @@ psql
* Have psql reports its version number on startup (Tom) * Have psql reports its version number on startup (Tom)
* Allow \copy to specify column names (Tom) * Allow \copy to specify column names (Tom)
_________________________________________________________________ _________________________________________________________________
libpq libpq
* Add $HOME/.pgpass to store host/user password combinations (Alvaro * Add $HOME/.pgpass to store host/user password combinations (Alvaro
...@@ -1599,7 +1640,7 @@ libpq ...@@ -1599,7 +1640,7 @@ libpq
* Fix for SSL with non-blocking connections (Jack Bates) * Fix for SSL with non-blocking connections (Jack Bates)
* Add libpq connection timeout parameter (Denis A Ustimenko) * Add libpq connection timeout parameter (Denis A Ustimenko)
_________________________________________________________________ _________________________________________________________________
JDBC JDBC
* Allow JDBC to compile with JDK 1.4 (Dave) * Allow JDBC to compile with JDK 1.4 (Dave)
...@@ -1615,7 +1656,7 @@ JDBC ...@@ -1615,7 +1656,7 @@ JDBC
* Fix MD5 encryption handling for multibyte servers (Jun Kawai) * Fix MD5 encryption handling for multibyte servers (Jun Kawai)
* Add support for prepared statements (Barry) * Add support for prepared statements (Barry)
_________________________________________________________________ _________________________________________________________________
Miscellaneous Interfaces Miscellaneous Interfaces
* Fixed ECPG bug concerning octal numbers in single quotes (Michael) * Fixed ECPG bug concerning octal numbers in single quotes (Michael)
...@@ -1636,7 +1677,7 @@ Miscellaneous Interfaces ...@@ -1636,7 +1677,7 @@ Miscellaneous Interfaces
* Add pg_on_connection_loss command to libpgtcl (Gerhard * Add pg_on_connection_loss command to libpgtcl (Gerhard
Hintermayer, Tom) Hintermayer, Tom)
_________________________________________________________________ _________________________________________________________________
Source Code Source Code
* Fix for parallel make (Peter) * Fix for parallel make (Peter)
...@@ -1698,7 +1739,7 @@ Source Code ...@@ -1698,7 +1739,7 @@ Source Code
(Bruce) (Bruce)
* Add version numbers to heap pages (Tom) * Add version numbers to heap pages (Tom)
_________________________________________________________________ _________________________________________________________________
Contrib Contrib
* Allow inet arrays in /contrib/array (Neil) * Allow inet arrays in /contrib/array (Neil)
...@@ -1725,21 +1766,21 @@ Contrib ...@@ -1725,21 +1766,21 @@ Contrib
* Fixes to /contrib/cube (Bruno Wolff) * Fixes to /contrib/cube (Bruno Wolff)
* Improve /contrib/fulltextindex (Christopher) * Improve /contrib/fulltextindex (Christopher)
_________________________________________________________________ _________________________________________________________________
Release 7.2.4 Release 7.2.4
Release date: 2003-01-30 Release date: 2003-01-30
This release contains a variety of fixes for version 7.2.3, including This release contains a variety of fixes for version 7.2.3, including
fixes to prevent possible data loss. fixes to prevent possible data loss.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.2.4 Migration to version 7.2.4
A dump/restore is *not* required for those running version 7.2.*. A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Fix some additional cases of VACUUM "No one parent tuple was * Fix some additional cases of VACUUM "No one parent tuple was
found" error found" error
...@@ -1756,21 +1797,21 @@ Contrib ...@@ -1756,21 +1797,21 @@ Contrib
* Repair long-standing logic errors in lseg_eq(), lseg_ne(), * Repair long-standing logic errors in lseg_eq(), lseg_ne(),
lseg_center() lseg_center()
_________________________________________________________________ _________________________________________________________________
Release 7.2.3 Release 7.2.3
Release date: 2002-10-01 Release date: 2002-10-01
This release contains a variety of fixes for version 7.2.2, including This release contains a variety of fixes for version 7.2.2, including
fixes to prevent possible data loss. fixes to prevent possible data loss.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.2.3 Migration to version 7.2.3
A dump/restore is *not* required for those running version 7.2.*. A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Prevent possible compressed transaction log loss (Tom) * Prevent possible compressed transaction log loss (Tom)
* Prevent non-superuser from increasing most recent vacuum info * Prevent non-superuser from increasing most recent vacuum info
...@@ -1780,20 +1821,20 @@ Contrib ...@@ -1780,20 +1821,20 @@ Contrib
* Prevent spinlock hangs on SMP PPC machines (Tomoyuki Niijima) * Prevent spinlock hangs on SMP PPC machines (Tomoyuki Niijima)
* Fix pg_dump to properly dump FULL JOIN USING (Tom) * Fix pg_dump to properly dump FULL JOIN USING (Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.2.2 Release 7.2.2
Release date: 2002-08-23 Release date: 2002-08-23
This release contains a variety of fixes for version 7.2.1. This release contains a variety of fixes for version 7.2.1.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.2.2 Migration to version 7.2.2
A dump/restore is *not* required for those running version 7.2.*. A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) * Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)
* Fix for compressed transaction log id wraparound (Tom) * Fix for compressed transaction log id wraparound (Tom)
...@@ -1811,20 +1852,20 @@ Contrib ...@@ -1811,20 +1852,20 @@ Contrib
* Fix for crash with long DATA strings (Thomas, Neil) * Fix for crash with long DATA strings (Thomas, Neil)
* Fix for repeat(), lpad(), rpad() and long strings (Neil) * Fix for repeat(), lpad(), rpad() and long strings (Neil)
_________________________________________________________________ _________________________________________________________________
Release 7.2.1 Release 7.2.1
Release date: 2002-03-21 Release date: 2002-03-21
This release contains a variety of fixes for version 7.2. This release contains a variety of fixes for version 7.2.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.2.1 Migration to version 7.2.1
A dump/restore is *not* required for those running version 7.2. A dump/restore is *not* required for those running version 7.2.
_________________________________________________________________ _________________________________________________________________
Changes Changes
* Ensure that sequence counters do not go backwards after a crash * Ensure that sequence counters do not go backwards after a crash
(Tom) (Tom)
...@@ -1848,57 +1889,57 @@ Contrib ...@@ -1848,57 +1889,57 @@ Contrib
* Fix for array subscripts handling (Tom) * Fix for array subscripts handling (Tom)
* Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) * Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.2 Release 7.2
Release date: 2002-02-04 Release date: 2002-02-04
_________________________________________________________________ _________________________________________________________________
Overview Overview
This release improves PostgreSQL for use in high-volume applications. This release improves PostgreSQL for use in high-volume applications.
Major changes in this release: Major changes in this release:
VACUUM VACUUM
Vacuuming no longer locks tables, thus allowing normal user Vacuuming no longer locks tables, thus allowing normal user
access during the vacuum. A new "VACUUM FULL" command does access during the vacuum. A new "VACUUM FULL" command does
old-style vacuum by locking the table and shrinking the on-disk old-style vacuum by locking the table and shrinking the on-disk
copy of the table. copy of the table.
Transactions Transactions
There is no longer a problem with installations that exceed There is no longer a problem with installations that exceed
four billion transactions. four billion transactions.
OIDs OIDs
OIDs are now optional. Users can now create tables without OIDs OIDs are now optional. Users can now create tables without OIDs
for cases where OID usage is excessive. for cases where OID usage is excessive.
Optimizer Optimizer
The system now computes histogram column statistics during The system now computes histogram column statistics during
"ANALYZE", allowing much better optimizer choices. "ANALYZE", allowing much better optimizer choices.
Security Security
A new MD5 encryption option allows more secure storage and A new MD5 encryption option allows more secure storage and
transfer of passwords. A new Unix-domain socket authentication transfer of passwords. A new Unix-domain socket authentication
option is available on Linux and BSD systems. option is available on Linux and BSD systems.
Statistics Statistics
Administrators can use the new table access statistics module Administrators can use the new table access statistics module
to get fine-grained information about table and index usage. to get fine-grained information about table and index usage.
Internationalization Internationalization
Program and library messages can now be displayed in several Program and library messages can now be displayed in several
languages. languages.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.2 Migration to version 7.2
A dump/restore using "pg_dump" is required for those wishing to A dump/restore using "pg_dump" is required for those wishing to
migrate data from any previous release. migrate data from any previous release.
Observe the following incompatibilities: Observe the following incompatibilities:
* The semantics of the "VACUUM" command have changed in this * The semantics of the "VACUUM" command have changed in this
release. You may wish to update your maintenance procedures release. You may wish to update your maintenance procedures
accordingly. accordingly.
...@@ -1915,13 +1956,13 @@ Contrib ...@@ -1915,13 +1956,13 @@ Contrib
need to rewrite your applications. need to rewrite your applications.
* The timestamp(), time(), and interval() functions are no longer * The timestamp(), time(), and interval() functions are no longer
available. Instead of timestamp(), use timestamp 'string' or CAST. available. Instead of timestamp(), use timestamp 'string' or CAST.
The SELECT ... LIMIT #,# syntax will be removed in the next release. The SELECT ... LIMIT #,# syntax will be removed in the next release.
You should change your queries to use separate LIMIT and OFFSET You should change your queries to use separate LIMIT and OFFSET
clauses, e.g. LIMIT 10 OFFSET 20. clauses, e.g. LIMIT 10 OFFSET 20.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Server Operation Server Operation
...@@ -1947,7 +1988,7 @@ Server Operation ...@@ -1947,7 +1988,7 @@ Server Operation
* Superuser ID now fixed at 1 (Peter E) * Superuser ID now fixed at 1 (Peter E)
* New pg_ctl "reload" option (Tom) * New pg_ctl "reload" option (Tom)
_________________________________________________________________ _________________________________________________________________
Performance Performance
* Optimizer improvements (Tom) * Optimizer improvements (Tom)
...@@ -1961,7 +2002,7 @@ Performance ...@@ -1961,7 +2002,7 @@ Performance
* R-tree performance improvements (Kenneth Been) * R-tree performance improvements (Kenneth Been)
* B-tree splits more efficient (Tom) * B-tree splits more efficient (Tom)
_________________________________________________________________ _________________________________________________________________
Privileges Privileges
* Change UPDATE, DELETE privileges to be distinct (Peter E) * Change UPDATE, DELETE privileges to be distinct (Peter E)
...@@ -1974,7 +2015,7 @@ Privileges ...@@ -1974,7 +2015,7 @@ Privileges
* Disallow access to pg_statistic for non-superuser, add * Disallow access to pg_statistic for non-superuser, add
user-accessible views (Tom) user-accessible views (Tom)
_________________________________________________________________ _________________________________________________________________
Client Authentication Client Authentication
* Fork postmaster before doing authentication to prevent hangs * Fork postmaster before doing authentication to prevent hangs
...@@ -1988,7 +2029,7 @@ Client Authentication ...@@ -1988,7 +2029,7 @@ Client Authentication
* Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP * Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP
(Bruce) (Bruce)
_________________________________________________________________ _________________________________________________________________
Server Configuration Server Configuration
* Interpretation of some time zone abbreviations as Australian * Interpretation of some time zone abbreviations as Australian
...@@ -2000,7 +2041,7 @@ Server Configuration ...@@ -2000,7 +2041,7 @@ Server Configuration
* New parameter to set client authentication timeout (Tom) * New parameter to set client authentication timeout (Tom)
* New parameter to set maximum number of open files (Tom) * New parameter to set maximum number of open files (Tom)
_________________________________________________________________ _________________________________________________________________
Queries Queries
* Statements added by INSERT rules now execute after the INSERT * Statements added by INSERT rules now execute after the INSERT
...@@ -2015,7 +2056,7 @@ Queries ...@@ -2015,7 +2056,7 @@ Queries
* Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom) * Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom)
* Fix nested EXCEPT/INTERSECT (Tom) * Fix nested EXCEPT/INTERSECT (Tom)
_________________________________________________________________ _________________________________________________________________
Schema Manipulation Schema Manipulation
* Fix SERIAL in temporary tables (Bruce) * Fix SERIAL in temporary tables (Bruce)
...@@ -2045,7 +2086,7 @@ Schema Manipulation ...@@ -2045,7 +2086,7 @@ Schema Manipulation
Bartunov, Teodor Sigaev, Tom) Bartunov, Teodor Sigaev, Tom)
* Enable partial indexes (Martijn van Oosterhout) * Enable partial indexes (Martijn van Oosterhout)
_________________________________________________________________ _________________________________________________________________
Utility Commands Utility Commands
* Add RESET ALL, SHOW ALL (Marko Kreen) * Add RESET ALL, SHOW ALL (Marko Kreen)
...@@ -2061,7 +2102,7 @@ Utility Commands ...@@ -2061,7 +2102,7 @@ Utility Commands
* Fix privilege checks for CREATE INDEX (Tom) * Fix privilege checks for CREATE INDEX (Tom)
* Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom) * Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom)
_________________________________________________________________ _________________________________________________________________
Data Types and Functions Data Types and Functions
* SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom) * SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)
...@@ -2114,7 +2155,7 @@ Data Types and Functions ...@@ -2114,7 +2155,7 @@ Data Types and Functions
* Some datatype() function calls now evaluated differently * Some datatype() function calls now evaluated differently
* Add support for Julian and ISO time specifications (Thomas) * Add support for Julian and ISO time specifications (Thomas)
_________________________________________________________________ _________________________________________________________________
Internationalization Internationalization
* National language support in psql, pg_dump, libpq, and server * National language support in psql, pg_dump, libpq, and server
...@@ -2130,7 +2171,7 @@ Internationalization ...@@ -2130,7 +2171,7 @@ Internationalization
* Make mic2ascii() non-ASCII aware (Tatsuo) * Make mic2ascii() non-ASCII aware (Tatsuo)
* Reject invalid multibyte character sequences (Tatsuo) * Reject invalid multibyte character sequences (Tatsuo)
_________________________________________________________________ _________________________________________________________________
PL/pgSQL PL/pgSQL
* Now uses portals for SELECT loops, allowing huge result sets (Jan) * Now uses portals for SELECT loops, allowing huge result sets (Jan)
...@@ -2147,25 +2188,25 @@ PL/pgSQL ...@@ -2147,25 +2188,25 @@ PL/pgSQL
* Memory leak fix (Jan, Tom) * Memory leak fix (Jan, Tom)
* Make trailing semicolon optional (Tom) * Make trailing semicolon optional (Tom)
_________________________________________________________________ _________________________________________________________________
PL/Perl PL/Perl
* New untrusted PL/Perl (Alex Pilosov) * New untrusted PL/Perl (Alex Pilosov)
* PL/Perl is now built on some platforms even if libperl is not * PL/Perl is now built on some platforms even if libperl is not
shared (Peter E) shared (Peter E)
_________________________________________________________________ _________________________________________________________________
PL/Tcl PL/Tcl
* Now reports errorInfo (Vsevolod Lobko) * Now reports errorInfo (Vsevolod Lobko)
* Add spi_lastoid function (bob@redivi.com) * Add spi_lastoid function (bob@redivi.com)
_________________________________________________________________ _________________________________________________________________
PL/Python PL/Python
* ...is new (Andrew Bosma) * ...is new (Andrew Bosma)
_________________________________________________________________ _________________________________________________________________
psql psql
* \d displays indexes in unique, primary groupings (Christopher * \d displays indexes in unique, primary groupings (Christopher
...@@ -2177,7 +2218,7 @@ psql ...@@ -2177,7 +2218,7 @@ psql
Tom) Tom)
* Format the correct number of columns for Unicode (Patrice) * Format the correct number of columns for Unicode (Patrice)
_________________________________________________________________ _________________________________________________________________
libpq libpq
* New function PQescapeString() to escape quotes in command strings * New function PQescapeString() to escape quotes in command strings
...@@ -2185,7 +2226,7 @@ libpq ...@@ -2185,7 +2226,7 @@ libpq
* New function PQescapeBytea() escapes binary strings for use as SQL * New function PQescapeBytea() escapes binary strings for use as SQL
string literals string literals
_________________________________________________________________ _________________________________________________________________
JDBC JDBC
* Return OID of INSERT (Ken K) * Return OID of INSERT (Ken K)
...@@ -2223,7 +2264,7 @@ JDBC ...@@ -2223,7 +2264,7 @@ JDBC
* MD5 password encryption support (Jeremy Wohl) * MD5 password encryption support (Jeremy Wohl)
* Fix to actually use type cache (Ned Wolpert) * Fix to actually use type cache (Ned Wolpert)
_________________________________________________________________ _________________________________________________________________
ODBC ODBC
* Remove query size limit (Hiroshi) * Remove query size limit (Hiroshi)
...@@ -2237,7 +2278,7 @@ ODBC ...@@ -2237,7 +2278,7 @@ ODBC
* MD5 password encryption support (Bruce) * MD5 password encryption support (Bruce)
* Add more compatibility functions to odbc.sql (Peter E) * Add more compatibility functions to odbc.sql (Peter E)
_________________________________________________________________ _________________________________________________________________
ECPG ECPG
* EXECUTE ... INTO implemented (Christof Petig) * EXECUTE ... INTO implemented (Christof Petig)
...@@ -2252,7 +2293,7 @@ ECPG ...@@ -2252,7 +2293,7 @@ ECPG
* All function names with external linkage are now prefixed by ECPG * All function names with external linkage are now prefixed by ECPG
* Fixes for arrays of structures (Michael) * Fixes for arrays of structures (Michael)
_________________________________________________________________ _________________________________________________________________
Misc. Interfaces Misc. Interfaces
* Python fix fetchone() (Gerhard Haring) * Python fix fetchone() (Gerhard Haring)
...@@ -2262,7 +2303,7 @@ Misc. Interfaces ...@@ -2262,7 +2303,7 @@ Misc. Interfaces
* Prevent output of default index op class in pg_dump (Tom) * Prevent output of default index op class in pg_dump (Tom)
* Fix libpgeasy memory leak (Bruce) * Fix libpgeasy memory leak (Bruce)
_________________________________________________________________ _________________________________________________________________
Build and Install Build and Install
* Configure, dynamic loader, and shared library fixes (Peter E) * Configure, dynamic loader, and shared library fixes (Peter E)
...@@ -2282,7 +2323,7 @@ Build and Install ...@@ -2282,7 +2323,7 @@ Build and Install
* Rename config.h to pg_config.h (Peter E) * Rename config.h to pg_config.h (Peter E)
* Reorganize installation layout of header files (Peter E) * Reorganize installation layout of header files (Peter E)
_________________________________________________________________ _________________________________________________________________
Source Code Source Code
* Remove SEP_CHAR (Bruce) * Remove SEP_CHAR (Bruce)
...@@ -2298,7 +2339,7 @@ Source Code ...@@ -2298,7 +2339,7 @@ Source Code
* Add 'volatile' usage in spinlock structures * Add 'volatile' usage in spinlock structures
* Improve signal handling logic (Tom) * Improve signal handling logic (Tom)
_________________________________________________________________ _________________________________________________________________
Contrib Contrib
* New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev) * New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev)
...@@ -2314,18 +2355,18 @@ Contrib ...@@ -2314,18 +2355,18 @@ Contrib
* New pg_upgrade utility (Bruce) * New pg_upgrade utility (Bruce)
* Add new pg_resetxlog options (Bruce, Tom) * Add new pg_resetxlog options (Bruce, Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.1.3 Release 7.1.3
Release date: 2001-08-15 Release date: 2001-08-15
_________________________________________________________________ _________________________________________________________________
Migration to version 7.1.3 Migration to version 7.1.3
A dump/restore is *not* required for those running 7.1.X. A dump/restore is *not* required for those running 7.1.X.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Remove unused WAL segements of large transactions (Tom) Remove unused WAL segements of large transactions (Tom)
Multiaction rule fix (Tom) Multiaction rule fix (Tom)
...@@ -2339,20 +2380,20 @@ Disable COPY TO/FROM a view (Tom) ...@@ -2339,20 +2380,20 @@ Disable COPY TO/FROM a view (Tom)
Cygwin build (Jason Tishler) Cygwin build (Jason Tishler)
_________________________________________________________________ _________________________________________________________________
Release 7.1.2 Release 7.1.2
Release date: 2001-05-11 Release date: 2001-05-11
This has one fix from 7.1.1. This has one fix from 7.1.1.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.1.2 Migration to version 7.1.2
A dump/restore is *not* required for those running 7.1.X. A dump/restore is *not* required for those running 7.1.X.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Fix PL/pgSQL SELECTs when returning no rows Fix PL/pgSQL SELECTs when returning no rows
Fix for psql backslash core dump Fix for psql backslash core dump
...@@ -2361,20 +2402,20 @@ Optimizer fixes ...@@ -2361,20 +2402,20 @@ Optimizer fixes
pg_dump cleanups pg_dump cleanups
_________________________________________________________________ _________________________________________________________________
Release 7.1.1 Release 7.1.1
Release date: 2001-05-05 Release date: 2001-05-05
This has a variety of fixes from 7.1. This has a variety of fixes from 7.1.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.1.1 Migration to version 7.1.1
A dump/restore is *not* required for those running 7.1. A dump/restore is *not* required for those running 7.1.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Fix for numeric MODULO operator (Tom) Fix for numeric MODULO operator (Tom)
pg_dump fixes (Philip) pg_dump fixes (Philip)
...@@ -2392,16 +2433,16 @@ EXTRACT can now take string argument (Thomas) ...@@ -2392,16 +2433,16 @@ EXTRACT can now take string argument (Thomas)
Python fixes (Darcy) Python fixes (Darcy)
_________________________________________________________________ _________________________________________________________________
Release 7.1 Release 7.1
Release date: 2001-04-13 Release date: 2001-04-13
This release focuses on removing limitations that have existed in the This release focuses on removing limitations that have existed in the
PostgreSQL code for many years. PostgreSQL code for many years.
Major changes in this release: Major changes in this release:
Write-ahead Log (WAL) Write-ahead Log (WAL)
To maintain database consistency in case of an operating system To maintain database consistency in case of an operating system
crash, previous releases of PostgreSQL have forced all data crash, previous releases of PostgreSQL have forced all data
...@@ -2410,25 +2451,25 @@ Python fixes (Darcy) ...@@ -2410,25 +2451,25 @@ Python fixes (Darcy)
performance. If you have been using -F in previous releases to performance. If you have been using -F in previous releases to
disable disk flushes, you may want to consider discontinuing disable disk flushes, you may want to consider discontinuing
its use. its use.
TOAST TOAST
TOAST - Previous releases had a compiled-in row length limit, TOAST - Previous releases had a compiled-in row length limit,
typically 8k - 32k. This limit made storage of long text fields typically 8k - 32k. This limit made storage of long text fields
difficult. With TOAST, long rows of any length can be stored difficult. With TOAST, long rows of any length can be stored
with good performance. with good performance.
Outer Joins Outer Joins
We now support outer joins. The UNION/NOT IN workaround for We now support outer joins. The UNION/NOT IN workaround for
outer joins is no longer required. We use the SQL92 outer join outer joins is no longer required. We use the SQL92 outer join
syntax. syntax.
Function Manager Function Manager
The previous C function manager did not handle null values The previous C function manager did not handle null values
properly, nor did it support 64-bit CPU's (Alpha). The new properly, nor did it support 64-bit CPU's (Alpha). The new
function manager does. You can continue using your old custom function manager does. You can continue using your old custom
functions, but you may want to rewrite them in the future to functions, but you may want to rewrite them in the future to
use the new function manager call interface. use the new function manager call interface.
Complex Queries Complex Queries
A large number of complex queries that were unsupported in A large number of complex queries that were unsupported in
previous releases now work. Many combinations of views, previous releases now work. Many combinations of views,
...@@ -2436,14 +2477,14 @@ Python fixes (Darcy) ...@@ -2436,14 +2477,14 @@ Python fixes (Darcy)
tables now work properly. Inherited tables are now accessed by tables now work properly. Inherited tables are now accessed by
default. Subqueries in FROM are now supported. default. Subqueries in FROM are now supported.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.1 Migration to version 7.1
A dump/restore using pg_dump is required for those wishing to migrate A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release. data from any previous release.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -2632,20 +2673,20 @@ New contrib/pg_control utility (Oliver) ...@@ -2632,20 +2673,20 @@ New contrib/pg_control utility (Oliver)
New FreeBSD tools ipc_check, start-scripts/freebsd New FreeBSD tools ipc_check, start-scripts/freebsd
_________________________________________________________________ _________________________________________________________________
Release 7.0.3 Release 7.0.3
Release date: 2000-11-11 Release date: 2000-11-11
This has a variety of fixes from 7.0.2. This has a variety of fixes from 7.0.2.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.0.3 Migration to version 7.0.3
A dump/restore is *not* required for those running 7.0.*. A dump/restore is *not* required for those running 7.0.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Jdbc fixes (Peter) Jdbc fixes (Peter)
Large object fix (Tom) Large object fix (Tom)
...@@ -2688,38 +2729,38 @@ Fix for inserting/copying longer multibyte strings into char() data ...@@ -2688,38 +2729,38 @@ Fix for inserting/copying longer multibyte strings into char() data
Fix for crash of backend, on abort (Tom) Fix for crash of backend, on abort (Tom)
_________________________________________________________________ _________________________________________________________________
Release 7.0.2 Release 7.0.2
Release date: 2000-06-05 Release date: 2000-06-05
This is a repackaging of 7.0.1 with added documentation. This is a repackaging of 7.0.1 with added documentation.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.0.2 Migration to version 7.0.2
A dump/restore is *not* required for those running 7.*. A dump/restore is *not* required for those running 7.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Added documentation to tarball. Added documentation to tarball.
_________________________________________________________________ _________________________________________________________________
Release 7.0.1 Release 7.0.1
Release date: 2000-06-01 Release date: 2000-06-01
This is a cleanup release for 7.0. This is a cleanup release for 7.0.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.0.1 Migration to version 7.0.1
A dump/restore is *not* required for those running 7.0. A dump/restore is *not* required for those running 7.0.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Fix many CLUSTER failures (Tom) Fix many CLUSTER failures (Tom)
Allow ALTER TABLE RENAME works on indexes (Tom) Allow ALTER TABLE RENAME works on indexes (Tom)
...@@ -2747,50 +2788,50 @@ JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu) ...@@ -2747,50 +2788,50 @@ JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu)
ecpg changes (Michael) ecpg changes (Michael)
_________________________________________________________________ _________________________________________________________________
Release 7.0 Release 7.0
Release date: 2000-05-08 Release date: 2000-05-08
This release contains improvements in many areas, demonstrating the This release contains improvements in many areas, demonstrating the
continued growth of PostgreSQL. There are more improvements and fixes continued growth of PostgreSQL. There are more improvements and fixes
in 7.0 than in any previous release. The developers have confidence in 7.0 than in any previous release. The developers have confidence
that this is the best release yet; we do our best to put out only that this is the best release yet; we do our best to put out only
solid releases, and this one is no exception. solid releases, and this one is no exception.
Major changes in this release: Major changes in this release:
Foreign Keys Foreign Keys
Foreign keys are now implemented, with the exception of PARTIAL Foreign keys are now implemented, with the exception of PARTIAL
MATCH foreign keys. Many users have been asking for this MATCH foreign keys. Many users have been asking for this
feature, and we are pleased to offer it. feature, and we are pleased to offer it.
Optimizer Overhaul Optimizer Overhaul
Continuing on work started a year ago, the optimizer has been Continuing on work started a year ago, the optimizer has been
improved, allowing better query plan selection and faster improved, allowing better query plan selection and faster
performance with less memory usage. performance with less memory usage.
Updated psql Updated psql
psql, our interactive terminal monitor, has been updated with a psql, our interactive terminal monitor, has been updated with a
variety of new features. See the psql manual page for details. variety of new features. See the psql manual page for details.
Join Syntax Join Syntax
SQL92 join syntax is now supported, though only as INNER JOIN SQL92 join syntax is now supported, though only as INNER JOIN
for this release. JOIN, NATURAL JOIN, JOIN/USING, and JOIN/ON for this release. JOIN, NATURAL JOIN, JOIN/USING, and JOIN/ON
are available, as are column correlation names. are available, as are column correlation names.
_________________________________________________________________ _________________________________________________________________
Migration to version 7.0 Migration to version 7.0
A dump/restore using pg_dump is required for those wishing to migrate A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release of PostgreSQL. For those upgrading from data from any previous release of PostgreSQL. For those upgrading from
6.5.*, you may instead use pg_upgrade to upgrade to this release; 6.5.*, you may instead use pg_upgrade to upgrade to this release;
however, a full dump/reload installation is always the most robust however, a full dump/reload installation is always the most robust
method for upgrades. method for upgrades.
Interface and compatibility issues to consider for the new release Interface and compatibility issues to consider for the new release
include: include:
* The date/time types datetime and timespan have been superseded by * The date/time types datetime and timespan have been superseded by
the SQL92-defined types timestamp and interval. Although there has the SQL92-defined types timestamp and interval. Although there has
been some effort to ease the transition by allowing PostgreSQL to been some effort to ease the transition by allowing PostgreSQL to
...@@ -2810,8 +2851,8 @@ ecpg changes (Michael) ...@@ -2810,8 +2851,8 @@ ecpg changes (Michael)
in ambiguity with other types implementing LENGTH such as the in ambiguity with other types implementing LENGTH such as the
geometric types. geometric types.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -3135,42 +3176,42 @@ Fixes for Alpha compiles ...@@ -3135,42 +3176,42 @@ Fixes for Alpha compiles
New multibyte encodings New multibyte encodings
_________________________________________________________________ _________________________________________________________________
Release 6.5.3 Release 6.5.3
Release date: 1999-10-13 Release date: 1999-10-13
This is basically a cleanup release for 6.5.2. We have added a new This is basically a cleanup release for 6.5.2. We have added a new
PgAccess that was missing in 6.5.2, and installed an NT-specific fix. PgAccess that was missing in 6.5.2, and installed an NT-specific fix.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.5.3 Migration to version 6.5.3
A dump/restore is *not* required for those running 6.5.*. A dump/restore is *not* required for those running 6.5.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Updated version of pgaccess 0.98 Updated version of pgaccess 0.98
NT-specific patch NT-specific patch
Fix dumping rules on inherited tables Fix dumping rules on inherited tables
_________________________________________________________________ _________________________________________________________________
Release 6.5.2 Release 6.5.2
Release date: 1999-09-15 Release date: 1999-09-15
This is basically a cleanup release for 6.5.1. We have fixed a variety This is basically a cleanup release for 6.5.1. We have fixed a variety
of problems reported by 6.5.1 users. of problems reported by 6.5.1 users.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.5.2 Migration to version 6.5.2
A dump/restore is *not* required for those running 6.5.*. A dump/restore is *not* required for those running 6.5.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
subselect+CASE fixes(Tom) subselect+CASE fixes(Tom)
Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik) Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik)
...@@ -3200,21 +3241,21 @@ Repair incorrect cleanup of heap memory allocation during transaction abort(Tom ...@@ -3200,21 +3241,21 @@ Repair incorrect cleanup of heap memory allocation during transaction abort(Tom
Updated version of pgaccess 0.98 Updated version of pgaccess 0.98
_________________________________________________________________ _________________________________________________________________
Release 6.5.1 Release 6.5.1
Release date: 1999-07-15 Release date: 1999-07-15
This is basically a cleanup release for 6.5. We have fixed a variety This is basically a cleanup release for 6.5. We have fixed a variety
of problems reported by 6.5 users. of problems reported by 6.5 users.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.5.1 Migration to version 6.5.1
A dump/restore is *not* required for those running 6.5. A dump/restore is *not* required for those running 6.5.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Add NT README file Add NT README file
Portability fixes for linux_ppc, IRIX, linux_alpha, OpenBSD, alpha Portability fixes for linux_ppc, IRIX, linux_alpha, OpenBSD, alpha
...@@ -3241,18 +3282,18 @@ Fix some compiler warnings (Tomoaki Nishiyama) ...@@ -3241,18 +3282,18 @@ Fix some compiler warnings (Tomoaki Nishiyama)
Add Win1250 (Czech) support (Pavel Behal) Add Win1250 (Czech) support (Pavel Behal)
_________________________________________________________________ _________________________________________________________________
Release 6.5 Release 6.5
Release date: 1999-06-09 Release date: 1999-06-09
This release marks a major step in the development team's mastery of This release marks a major step in the development team's mastery of
the source code we inherited from Berkeley. You will see we are now the source code we inherited from Berkeley. You will see we are now
easily adding major features, thanks to the increasing size and easily adding major features, thanks to the increasing size and
experience of our world-wide development team. experience of our world-wide development team.
Here is a brief summary of the more notable changes: Here is a brief summary of the more notable changes:
Multiversion concurrency control(MVCC) Multiversion concurrency control(MVCC)
This removes our old table-level locking, and replaces it with This removes our old table-level locking, and replaces it with
a locking system that is superior to most commercial database a locking system that is superior to most commercial database
...@@ -3266,38 +3307,38 @@ Add Win1250 (Czech) support (Pavel Behal) ...@@ -3266,38 +3307,38 @@ Add Win1250 (Czech) support (Pavel Behal)
systems. So, basically, we no longer are restricted by simple systems. So, basically, we no longer are restricted by simple
table-level locking; we have something better than row-level table-level locking; we have something better than row-level
locking. locking.
Hot backups from pg_dump Hot backups from pg_dump
pg_dump takes advantage of the new MVCC features to give a pg_dump takes advantage of the new MVCC features to give a
consistent database dump/backup while the database stays online consistent database dump/backup while the database stays online
and available for queries. and available for queries.
Numeric data type Numeric data type
We now have a true numeric data type, with user-specified We now have a true numeric data type, with user-specified
precision. precision.
Temporary tables Temporary tables
Temporary tables are guaranteed to have unique names within a Temporary tables are guaranteed to have unique names within a
database session, and are destroyed on session exit. database session, and are destroyed on session exit.
New SQL features New SQL features
We now have CASE, INTERSECT, and EXCEPT statement support. We We now have CASE, INTERSECT, and EXCEPT statement support. We
have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT
... FOR UPDATE, and an improved LOCK TABLE command. ... FOR UPDATE, and an improved LOCK TABLE command.
Speedups Speedups
We continue to speed up PostgreSQL, thanks to the variety of We continue to speed up PostgreSQL, thanks to the variety of
talents within our team. We have sped up memory allocation, talents within our team. We have sped up memory allocation,
optimization, table joins, and row transfer routines. optimization, table joins, and row transfer routines.
Ports Ports
We continue to expand our port list, this time including We continue to expand our port list, this time including
Windows NT/ix86 and NetBSD/arm32. Windows NT/ix86 and NetBSD/arm32.
Interfaces Interfaces
Most interfaces have new versions, and existing functionality Most interfaces have new versions, and existing functionality
has been improved. has been improved.
Documentation Documentation
New and updated material is present throughout the New and updated material is present throughout the
documentation. New FAQs have been contributed for SGI and AIX documentation. New FAQs have been contributed for SGI and AIX
...@@ -3311,20 +3352,20 @@ Add Win1250 (Czech) support (Pavel Behal) ...@@ -3311,20 +3352,20 @@ Add Win1250 (Czech) support (Pavel Behal)
on obtaining the PostgreSQL source tree via anonymous CVS and on obtaining the PostgreSQL source tree via anonymous CVS and
CVSup. CVSup.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.5 Migration to version 6.5
A dump/restore using pg_dump is required for those wishing to migrate A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release of PostgreSQL. pg_upgrade can *not* be data from any previous release of PostgreSQL. pg_upgrade can *not* be
used to upgrade to this release because the on-disk structure of the used to upgrade to this release because the on-disk structure of the
tables has changed compared to previous releases. tables has changed compared to previous releases.
The new Multiversion Concurrency Control (MVCC) features can give The new Multiversion Concurrency Control (MVCC) features can give
somewhat different behaviors in multiuser environments. *Read and somewhat different behaviors in multiuser environments. *Read and
understand the following section to ensure that your existing understand the following section to ensure that your existing
applications will give you the behavior you need.* applications will give you the behavior you need.*
_________________________________________________________________ _________________________________________________________________
Multiversion Concurrency Control Multiversion Concurrency Control
Because readers in 6.5 don't lock data, regardless of transaction Because readers in 6.5 don't lock data, regardless of transaction
...@@ -3334,31 +3375,31 @@ Multiversion Concurrency Control ...@@ -3334,31 +3375,31 @@ Multiversion Concurrency Control
sometime after the statement or transaction began) nor that the row is sometime after the statement or transaction began) nor that the row is
protected from being deleted or updated by concurrent transactions protected from being deleted or updated by concurrent transactions
before the current transaction does a commit or rollback. before the current transaction does a commit or rollback.
To ensure the actual existence of a row and protect it against To ensure the actual existence of a row and protect it against
concurrent updates one must use "SELECT FOR UPDATE" or an appropriate concurrent updates one must use "SELECT FOR UPDATE" or an appropriate
"LOCK TABLE" statement. This should be taken into account when porting "LOCK TABLE" statement. This should be taken into account when porting
applications from previous releases of PostgreSQL and other applications from previous releases of PostgreSQL and other
environments. environments.
Keep the above in mind if you are using "contrib/refint.*" triggers Keep the above in mind if you are using "contrib/refint.*" triggers
for referential integrity. Additional techniques are required now. One for referential integrity. Additional techniques are required now. One
way is to use "LOCK parent_table IN SHARE ROW EXCLUSIVE MODE" command way is to use "LOCK parent_table IN SHARE ROW EXCLUSIVE MODE" command
if a transaction is going to update/delete a primary key and use "LOCK if a transaction is going to update/delete a primary key and use "LOCK
parent_table IN SHARE MODE" command if a transaction is going to parent_table IN SHARE MODE" command if a transaction is going to
update/insert a foreign key. update/insert a foreign key.
Note: Note that if you run a transaction in SERIALIZABLE mode then Note: Note that if you run a transaction in SERIALIZABLE mode then
you must execute the "LOCK" commands above before execution of any you must execute the "LOCK" commands above before execution of any
DML statement ("SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO") in the DML statement ("SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO") in the
transaction. transaction.
These inconveniences will disappear in the future when the ability to These inconveniences will disappear in the future when the ability to
read dirty (uncommitted) data (regardless of isolation level) and true read dirty (uncommitted) data (regardless of isolation level) and true
referential integrity will be implemented. referential integrity will be implemented.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -3526,39 +3567,39 @@ Improve file handling to be more uniform, prevent file descriptor leak(Tom) ...@@ -3526,39 +3567,39 @@ Improve file handling to be more uniform, prevent file descriptor leak(Tom)
New install commands for plpgsql(Jan) New install commands for plpgsql(Jan)
_________________________________________________________________ _________________________________________________________________
Release 6.4.2 Release 6.4.2
Release date: 1998-12-20 Release date: 1998-12-20
The 6.4.1 release was improperly packaged. This also has one The 6.4.1 release was improperly packaged. This also has one
additional bug fix. additional bug fix.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.4.2 Migration to version 6.4.2
A dump/restore is *not* required for those running 6.4.*. A dump/restore is *not* required for those running 6.4.*.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Fix for datetime constant problem on some platforms(Thomas) Fix for datetime constant problem on some platforms(Thomas)
_________________________________________________________________ _________________________________________________________________
Release 6.4.1 Release 6.4.1
Release date: 1998-12-18 Release date: 1998-12-18
This is basically a cleanup release for 6.4. We have fixed a variety This is basically a cleanup release for 6.4. We have fixed a variety
of problems reported by 6.4 users. of problems reported by 6.4 users.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.4.1 Migration to version 6.4.1
A dump/restore is *not* required for those running 6.4. A dump/restore is *not* required for those running 6.4.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Add pg_dump -N flag to force double quotes around identifiers. This is Add pg_dump -N flag to force double quotes around identifiers. This is
the default(Thomas) the default(Thomas)
...@@ -3591,16 +3632,16 @@ Add routines to help with single-byte (internal) character type(Thomas) ...@@ -3591,16 +3632,16 @@ Add routines to help with single-byte (internal) character type(Thomas)
Compilation of libpq for Windows fixes(Magnus) Compilation of libpq for Windows fixes(Magnus)
Upgrade to PyGreSQL 2.2(D'Arcy) Upgrade to PyGreSQL 2.2(D'Arcy)
_________________________________________________________________ _________________________________________________________________
Release 6.4 Release 6.4
Release date: 1998-10-30 Release date: 1998-10-30
There are *many* new features and improvements in this release. Thanks There are *many* new features and improvements in this release. Thanks
to our developers and maintainers, nearly every aspect of the system to our developers and maintainers, nearly every aspect of the system
has received some attention since the previous release. Here is a has received some attention since the previous release. Here is a
brief, incomplete summary: brief, incomplete summary:
* Views and rules are now functional thanks to extensive new code in * Views and rules are now functional thanks to extensive new code in
the rewrite rules system from Jan Wieck. He also wrote a chapter the rewrite rules system from Jan Wieck. He also wrote a chapter
on it for the Programmer's Guide. on it for the Programmer's Guide.
...@@ -3630,14 +3671,14 @@ Upgrade to PyGreSQL 2.2(D'Arcy) ...@@ -3630,14 +3671,14 @@ Upgrade to PyGreSQL 2.2(D'Arcy)
some attention, and should be more robust for more platforms than some attention, and should be more robust for more platforms than
it has ever been. it has ever been.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.4 Migration to version 6.4
A dump/restore using pg_dump or pg_dumpall is required for those A dump/restore using pg_dump or pg_dumpall is required for those
wishing to migrate data from any previous release of PostgreSQL. wishing to migrate data from any previous release of PostgreSQL.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -3835,32 +3876,32 @@ smarter perl configuration(Brook) ...@@ -3835,32 +3876,32 @@ smarter perl configuration(Brook)
configure uses supplied install-sh if no install script found(Tom) configure uses supplied install-sh if no install script found(Tom)
new Makefile.shlib for shared library configuration(Tom) new Makefile.shlib for shared library configuration(Tom)
_________________________________________________________________ _________________________________________________________________
Release 6.3.2 Release 6.3.2
Release date: 1998-04-07 Release date: 1998-04-07
This is a bug-fix release for 6.3.x. Refer to the release notes for This is a bug-fix release for 6.3.x. Refer to the release notes for
version 6.3 for a more complete summary of new features. version 6.3 for a more complete summary of new features.
Summary: Summary:
* Repairs automatic configuration support for some platforms, * Repairs automatic configuration support for some platforms,
including Linux, from breakage inadvertently introduced in version including Linux, from breakage inadvertently introduced in version
6.3.1. 6.3.1.
* Correctly handles function calls on the left side of BETWEEN and * Correctly handles function calls on the left side of BETWEEN and
LIKE clauses. LIKE clauses.
A dump/restore is NOT required for those running 6.3 or 6.3.1. A make A dump/restore is NOT required for those running 6.3 or 6.3.1. A make
distclean, make, and make install is all that is required. This last distclean, make, and make install is all that is required. This last
step should be performed while the postmaster is not running. You step should be performed while the postmaster is not running. You
should re-link any custom applications that use PostgreSQL libraries. should re-link any custom applications that use PostgreSQL libraries.
For upgrades from pre-6.3 installations, refer to the installation and For upgrades from pre-6.3 installations, refer to the installation and
migration instructions for version 6.3. migration instructions for version 6.3.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Configure detection improvements for tcl/tk(Brook Milligan, Alvin) Configure detection improvements for tcl/tk(Brook Milligan, Alvin)
Manual page improvements(Bruce) Manual page improvements(Bruce)
...@@ -3882,28 +3923,28 @@ Makefile dependency cleanup(Jeroen van Vianen) ...@@ -3882,28 +3923,28 @@ Makefile dependency cleanup(Jeroen van Vianen)
ASSERT fixes(Bruce) ASSERT fixes(Bruce)
_________________________________________________________________ _________________________________________________________________
Release 6.3.1 Release 6.3.1
Release date: 1998-03-23 Release date: 1998-03-23
Summary: Summary:
* Additional support for multibyte character sets. * Additional support for multibyte character sets.
* Repair byte ordering for mixed-endian clients and servers. * Repair byte ordering for mixed-endian clients and servers.
* Minor updates to allowed SQL syntax. * Minor updates to allowed SQL syntax.
* Improvements to the configuration autodetection for installation. * Improvements to the configuration autodetection for installation.
A dump/restore is NOT required for those running 6.3. A make A dump/restore is NOT required for those running 6.3. A make
distclean, make, and make install is all that is required. This last distclean, make, and make install is all that is required. This last
step should be performed while the postmaster is not running. You step should be performed while the postmaster is not running. You
should re-link any custom applications that use PostgreSQL libraries. should re-link any custom applications that use PostgreSQL libraries.
For upgrades from pre-6.3 installations, refer to the installation and For upgrades from pre-6.3 installations, refer to the installation and
migration instructions for version 6.3. migration instructions for version 6.3.
_________________________________________________________________ _________________________________________________________________
Changes Changes
ecpg cleanup/fixes, now version 1.1(Michael Meskes) ecpg cleanup/fixes, now version 1.1(Michael Meskes)
pg_user cleanup(Bruce) pg_user cleanup(Bruce)
...@@ -3934,14 +3975,14 @@ Solaris compile fix(Albert Chin-A-Young) ...@@ -3934,14 +3975,14 @@ Solaris compile fix(Albert Chin-A-Young)
Better identify tcl and tk libs and includes(Bruce) Better identify tcl and tk libs and includes(Bruce)
_________________________________________________________________ _________________________________________________________________
Release 6.3 Release 6.3
Release date: 1998-03-01 Release date: 1998-03-01
There are *many* new features and improvements in this release. Here There are *many* new features and improvements in this release. Here
is a brief, incomplete summary: is a brief, incomplete summary:
* Many new SQL features, including full SQL92 subselect capability * Many new SQL features, including full SQL92 subselect capability
(everything is here but target-list subselects). (everything is here but target-list subselects).
* Support for client-side environment variables to specify time zone * Support for client-side environment variables to specify time zone
...@@ -3952,14 +3993,14 @@ Better identify tcl and tk libs and includes(Bruce) ...@@ -3952,14 +3993,14 @@ Better identify tcl and tk libs and includes(Bruce)
have changed. have changed.
* Old-style time travel has been removed. Performance has been * Old-style time travel has been removed. Performance has been
improved. improved.
Note: Bruce Momjian wrote the following notes to introduce the new Note: Bruce Momjian wrote the following notes to introduce the new
release. release.
There are some general 6.3 issues that I want to mention. These are There are some general 6.3 issues that I want to mention. These are
only the big items that can not be described in one sentence. A review only the big items that can not be described in one sentence. A review
of the detailed changes list is still needed. of the detailed changes list is still needed.
First, we now have subselects. Now that we have them, I would like to First, we now have subselects. Now that we have them, I would like to
mention that without subselects, SQL is a very limited language. mention that without subselects, SQL is a very limited language.
Subselects are a major feature, and you should review your code for Subselects are a major feature, and you should review your code for
...@@ -3968,12 +4009,12 @@ Better identify tcl and tk libs and includes(Bruce) ...@@ -3968,12 +4009,12 @@ Better identify tcl and tk libs and includes(Bruce)
may think. Vadim has put us on the big SQL map with subselects, and may think. Vadim has put us on the big SQL map with subselects, and
fully functional ones too. The only thing you can't do with subselects fully functional ones too. The only thing you can't do with subselects
is to use them in the target list. is to use them in the target list.
Second, 6.3 uses Unix domain sockets rather than TCP/IP by default. To Second, 6.3 uses Unix domain sockets rather than TCP/IP by default. To
enable connections from other machines, you have to use the new enable connections from other machines, you have to use the new
postmaster -i option, and of course edit "pg_hba.conf". Also, for this postmaster -i option, and of course edit "pg_hba.conf". Also, for this
reason, the format of "pg_hba.conf" has changed. reason, the format of "pg_hba.conf" has changed.
Third, char() fields will now allow faster access than varchar() or Third, char() fields will now allow faster access than varchar() or
text. Specifically, the text and varchar() have a penalty for access text. Specifically, the text and varchar() have a penalty for access
to any columns after the first column of this type. char() used to to any columns after the first column of this type. char() used to
...@@ -3981,7 +4022,7 @@ Better identify tcl and tk libs and includes(Bruce) ...@@ -3981,7 +4022,7 @@ Better identify tcl and tk libs and includes(Bruce)
that you redesign some of your tables, especially if you have short that you redesign some of your tables, especially if you have short
character columns that you have defined as varchar() or text. This and character columns that you have defined as varchar() or text. This and
other changes make 6.3 even faster than earlier releases. other changes make 6.3 even faster than earlier releases.
We now have passwords definable independent of any Unix file. There We now have passwords definable independent of any Unix file. There
are new SQL USER commands. See the Administrator's Guide for more are new SQL USER commands. See the Administrator's Guide for more
information. There is a new table, pg_shadow, which is used to store information. There is a new table, pg_shadow, which is used to store
...@@ -3989,40 +4030,40 @@ Better identify tcl and tk libs and includes(Bruce) ...@@ -3989,40 +4030,40 @@ Better identify tcl and tk libs and includes(Bruce)
SELECT-able by the postgres super-user. pg_user is now a view of SELECT-able by the postgres super-user. pg_user is now a view of
pg_shadow, and is SELECT-able by PUBLIC. You should keep using pg_user pg_shadow, and is SELECT-able by PUBLIC. You should keep using pg_user
in your application without changes. in your application without changes.
User-created tables now no longer have SELECT privilege to PUBLIC by User-created tables now no longer have SELECT privilege to PUBLIC by
default. This was done because the ANSI standard requires it. You can default. This was done because the ANSI standard requires it. You can
of course GRANT any privileges you want after the table is created. of course GRANT any privileges you want after the table is created.
System tables continue to be SELECT-able by PUBLIC. System tables continue to be SELECT-able by PUBLIC.
We also have real deadlock detection code. No more sixty-second We also have real deadlock detection code. No more sixty-second
timeouts. And the new locking code implements a FIFO better, so there timeouts. And the new locking code implements a FIFO better, so there
should be less resource starvation during heavy use. should be less resource starvation during heavy use.
Many complaints have been made about inadequate documentation in Many complaints have been made about inadequate documentation in
previous releases. Thomas has put much effort into many new manuals previous releases. Thomas has put much effort into many new manuals
for this release. Check out the doc/ directory. for this release. Check out the doc/ directory.
For performance reasons, time travel is gone, but can be implemented For performance reasons, time travel is gone, but can be implemented
using triggers (see "pgsql/contrib/spi/README"). Please check out the using triggers (see "pgsql/contrib/spi/README"). Please check out the
new \d command for types, operators, etc. Also, views have their own new \d command for types, operators, etc. Also, views have their own
privileges now, not based on the underlying tables, so privileges on privileges now, not based on the underlying tables, so privileges on
them have to be set separately. Check "/pgsql/interfaces" for some new them have to be set separately. Check "/pgsql/interfaces" for some new
ways to talk to PostgreSQL. ways to talk to PostgreSQL.
This is the first release that really required an explanation for This is the first release that really required an explanation for
existing users. In many ways, this was necessary because the new existing users. In many ways, this was necessary because the new
release removes many limitations, and the work-arounds people were release removes many limitations, and the work-arounds people were
using are no longer needed. using are no longer needed.
_________________________________________________________________ _________________________________________________________________
Migration to version 6.3 Migration to version 6.3
A dump/restore using pg_dump or pg_dumpall is required for those A dump/restore using pg_dump or pg_dumpall is required for those
wishing to migrate data from any previous release of PostgreSQL. wishing to migrate data from any previous release of PostgreSQL.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -4192,33 +4233,33 @@ Add string functions to regression suite(Thomas) ...@@ -4192,33 +4233,33 @@ Add string functions to regression suite(Thomas)
Expand a few function names formerly truncated to 16 characters(Thomas) Expand a few function names formerly truncated to 16 characters(Thomas)
Remove un-needed malloc() calls and replace with palloc()(Bruce) Remove un-needed malloc() calls and replace with palloc()(Bruce)
_________________________________________________________________ _________________________________________________________________
Release 6.2.1 Release 6.2.1
Release date: 1997-10-17 Release date: 1997-10-17
6.2.1 is a bug-fix and usability release on 6.2. 6.2.1 is a bug-fix and usability release on 6.2.
Summary: Summary:
* Allow strings to span lines, per SQL92. * Allow strings to span lines, per SQL92.
* Include example trigger function for inserting user names on table * Include example trigger function for inserting user names on table
updates. updates.
This is a minor bug-fix release on 6.2. For upgrades from pre-6.2 This is a minor bug-fix release on 6.2. For upgrades from pre-6.2
systems, a full dump/reload is required. Refer to the 6.2 release systems, a full dump/reload is required. Refer to the 6.2 release
notes for instructions. notes for instructions.
_________________________________________________________________ _________________________________________________________________
Migration from version 6.2 to version 6.2.1 Migration from version 6.2 to version 6.2.1
This is a minor bug-fix release. A dump/reload is not required from This is a minor bug-fix release. A dump/reload is not required from
version 6.2, but is required from any release prior to 6.2. version 6.2, but is required from any release prior to 6.2.
In upgrading from version 6.2, if you choose to dump/reload you will In upgrading from version 6.2, if you choose to dump/reload you will
find that avg(money) is now calculated correctly. All other bug fixes find that avg(money) is now calculated correctly. All other bug fixes
take effect upon updating the executables. take effect upon updating the executables.
Another way to avoid dump/reload is to use the following SQL command Another way to avoid dump/reload is to use the following SQL command
from "psql" to update the existing system table: from "psql" to update the existing system table:
update pg_aggregate set aggfinalfn = 'cash_div_flt8' update pg_aggregate set aggfinalfn = 'cash_div_flt8'
...@@ -4227,8 +4268,8 @@ Remove un-needed malloc() calls and replace with palloc()(Bruce) ...@@ -4227,8 +4268,8 @@ Remove un-needed malloc() calls and replace with palloc()(Bruce)
This will need to be done to every existing database, including This will need to be done to every existing database, including
template1. template1.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Allow TIME and TYPE column names(Thomas) Allow TIME and TYPE column names(Thomas)
Allow larger range of true/false as boolean values(Thomas) Allow larger range of true/false as boolean values(Thomas)
...@@ -4243,31 +4284,31 @@ Documented new libpq function to return affected rows, PQcmdTuples(Bruce) ...@@ -4243,31 +4284,31 @@ Documented new libpq function to return affected rows, PQcmdTuples(Bruce)
Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan) Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
_________________________________________________________________ _________________________________________________________________
Release 6.2 Release 6.2
Release date: 1997-10-02 Release date: 1997-10-02
A dump/restore is required for those wishing to migrate data from A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL. previous releases of PostgreSQL.
_________________________________________________________________ _________________________________________________________________
Migration from version 6.1 to version 6.2 Migration from version 6.1 to version 6.2
This migration requires a complete dump of the 6.1 database and a This migration requires a complete dump of the 6.1 database and a
restore of the database in 6.2. restore of the database in 6.2.
Note that the "pg_dump" and "pg_dumpall" utility from 6.2 should be Note that the "pg_dump" and "pg_dumpall" utility from 6.2 should be
used to dump the 6.1 database. used to dump the 6.1 database.
_________________________________________________________________ _________________________________________________________________
Migration from version 1.x to version 6.2 Migration from version 1.x to version 6.2
Those migrating from earlier 1.* releases should first upgrade to 1.09 Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release. because the COPY output format was improved from the 1.02 release.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -4382,20 +4423,20 @@ Massive commit to run PGINDENT on all *.c and *.h files(Bruce) ...@@ -4382,20 +4423,20 @@ Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
Files moved to /src/tools directory(Bruce) Files moved to /src/tools directory(Bruce)
SPI and Trigger programming guides (Vadim & D'Arcy) SPI and Trigger programming guides (Vadim & D'Arcy)
_________________________________________________________________ _________________________________________________________________
Release 6.1.1 Release 6.1.1
Release date: 1997-07-22 Release date: 1997-07-22
_________________________________________________________________ _________________________________________________________________
Migration from version 6.1 to version 6.1.1 Migration from version 6.1 to version 6.1.1
This is a minor bug-fix release. A dump/reload is not required from This is a minor bug-fix release. A dump/reload is not required from
version 6.1, but is required from any release prior to 6.1. Refer to version 6.1, but is required from any release prior to 6.1. Refer to
the release notes for 6.1 for more details. the release notes for 6.1 for more details.
_________________________________________________________________ _________________________________________________________________
Changes Changes
fix for SET with options (Thomas) fix for SET with options (Thomas)
allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce) allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
...@@ -4416,20 +4457,20 @@ allow underscores in usernames(Bruce) ...@@ -4416,20 +4457,20 @@ allow underscores in usernames(Bruce)
pg_dumpall now returns proper status, portability fix(Bruce) pg_dumpall now returns proper status, portability fix(Bruce)
_________________________________________________________________ _________________________________________________________________
Release 6.1 Release 6.1
Release date: 1997-06-08 Release date: 1997-06-08
The regression tests have been adapted and extensively modified for The regression tests have been adapted and extensively modified for
the 6.1 release of PostgreSQL. the 6.1 release of PostgreSQL.
Three new data types (datetime, timespan, and circle) have been added Three new data types (datetime, timespan, and circle) have been added
to the native set of PostgreSQL types. Points, boxes, paths, and to the native set of PostgreSQL types. Points, boxes, paths, and
polygons have had their output formats made consistent across the data polygons have had their output formats made consistent across the data
types. The polygon output in misc.out has only been spot-checked for types. The polygon output in misc.out has only been spot-checked for
correctness relative to the original regression output. correctness relative to the original regression output.
PostgreSQL 6.1 introduces a new, alternate optimizer which uses PostgreSQL 6.1 introduces a new, alternate optimizer which uses
genetic algorithms. These algorithms introduce a random behavior in genetic algorithms. These algorithms introduce a random behavior in
the ordering of query results when the query contains multiple the ordering of query results when the query contains multiple
...@@ -4440,32 +4481,32 @@ pg_dumpall now returns proper status, portability fix(Bruce) ...@@ -4440,32 +4481,32 @@ pg_dumpall now returns proper status, portability fix(Bruce)
inherently unordered (e.g. points and time intervals) and tests inherently unordered (e.g. points and time intervals) and tests
involving those types are explicitly bracketed with "set geqo to involving those types are explicitly bracketed with "set geqo to
'off'" and "reset geqo". 'off'" and "reset geqo".
The interpretation of array specifiers (the curly braces around atomic The interpretation of array specifiers (the curly braces around atomic
values) appears to have changed sometime after the original regression values) appears to have changed sometime after the original regression
tests were generated. The current "./expected/*.out" files reflect tests were generated. The current "./expected/*.out" files reflect
this new interpretation, which may not be correct! this new interpretation, which may not be correct!
The float8 regression test fails on at least some platforms. This is The float8 regression test fails on at least some platforms. This is
due to differences in implementations of pow() and exp() and the due to differences in implementations of pow() and exp() and the
signaling mechanisms used for overflow and underflow conditions. signaling mechanisms used for overflow and underflow conditions.
The "random" results in the random test should cause the "random" test The "random" results in the random test should cause the "random" test
to be "failed", since the regression tests are evaluated using a to be "failed", since the regression tests are evaluated using a
simple diff. However, "random" does not seem to produce random results simple diff. However, "random" does not seem to produce random results
on my test machine (Linux/gcc/i686). on my test machine (Linux/gcc/i686).
_________________________________________________________________ _________________________________________________________________
Migration to version 6.1 Migration to version 6.1
This migration requires a complete dump of the 6.0 database and a This migration requires a complete dump of the 6.0 database and a
restore of the database in 6.1. restore of the database in 6.1.
Those migrating from earlier 1.* releases should first upgrade to 1.09 Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release. because the COPY output format was improved from the 1.02 release.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -4562,28 +4603,28 @@ c++ include file cleanup(Bruce) ...@@ -4562,28 +4603,28 @@ c++ include file cleanup(Bruce)
warn about buggy flex(Bruce) warn about buggy flex(Bruce)
DG/UX, Ultrix, IRIX, AIX portability fixes DG/UX, Ultrix, IRIX, AIX portability fixes
_________________________________________________________________ _________________________________________________________________
Release 6.0 Release 6.0
Release date: 1997-01-29 Release date: 1997-01-29
A dump/restore is required for those wishing to migrate data from A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL. previous releases of PostgreSQL.
_________________________________________________________________ _________________________________________________________________
Migration from version 1.09 to version 6.0 Migration from version 1.09 to version 6.0
This migration requires a complete dump of the 1.09 database and a This migration requires a complete dump of the 1.09 database and a
restore of the database in 6.0. restore of the database in 6.0.
_________________________________________________________________ _________________________________________________________________
Migration from pre-1.09 to version 6.0 Migration from pre-1.09 to version 6.0
Those migrating from earlier 1.* releases should first upgrade to 1.09 Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release. because the COPY output format was improved from the 1.02 release.
_________________________________________________________________ _________________________________________________________________
Changes Changes
Bug Fixes Bug Fixes
--------- ---------
...@@ -4691,33 +4732,33 @@ Restructured object file generation/location(Bryan, Marc) ...@@ -4691,33 +4732,33 @@ Restructured object file generation/location(Bryan, Marc)
Restructured port-specific file locations(Bryan, Marc) Restructured port-specific file locations(Bryan, Marc)
Unused/uninialized variables corrected Unused/uninialized variables corrected
_________________________________________________________________ _________________________________________________________________
Release 1.09 Release 1.09
Release date: 1996-11-04 Release date: 1996-11-04
Sorry, we didn't keep track of changes from 1.02 to 1.09. Some of the Sorry, we didn't keep track of changes from 1.02 to 1.09. Some of the
changes listed in 6.0 were actually included in the 1.02.1 to 1.09 changes listed in 6.0 were actually included in the 1.02.1 to 1.09
releases. releases.
_________________________________________________________________ _________________________________________________________________
Release 1.02 Release 1.02
Release date: 1996-08-01 Release date: 1996-08-01
_________________________________________________________________ _________________________________________________________________
Migration from version 1.02 to version 1.02.1 Migration from version 1.02 to version 1.02.1
Here is a new migration file for 1.02.1. It includes the 'copy' change Here is a new migration file for 1.02.1. It includes the 'copy' change
and a script to convert old ASCII files. and a script to convert old ASCII files.
Note: The following notes are for the benefit of users who want to Note: The following notes are for the benefit of users who want to
migrate databases from Postgres95 1.01 and 1.02 to Postgres95 migrate databases from Postgres95 1.01 and 1.02 to Postgres95
1.02.1. 1.02.1.
If you are starting afresh with Postgres95 1.02.1 and do not need If you are starting afresh with Postgres95 1.02.1 and do not need
to migrate old databases, you do not need to read any further. to migrate old databases, you do not need to read any further.
In order to upgrade older Postgres95 version 1.01 or 1.02 databases to In order to upgrade older Postgres95 version 1.01 or 1.02 databases to
version 1.02.1, the following steps are required: version 1.02.1, the following steps are required:
1. Start up a new 1.02.1 postmaster 1. Start up a new 1.02.1 postmaster
...@@ -4733,8 +4774,8 @@ Unused/uninialized variables corrected ...@@ -4733,8 +4774,8 @@ Unused/uninialized variables corrected
the last two statements in the file because they are already the last two statements in the file because they are already
present in 1.02. This is not a cause for concern. present in 1.02. This is not a cause for concern.
_________________________________________________________________ _________________________________________________________________
Dump/Reload Procedure Dump/Reload Procedure
If you are trying to reload a pg_dump or text-mode, copy tablename to If you are trying to reload a pg_dump or text-mode, copy tablename to
stdout generated with a previous version, you will need to run the stdout generated with a previous version, you will need to run the
...@@ -4757,8 +4798,8 @@ eq); ...@@ -4757,8 +4798,8 @@ eq);
create operator !~* (leftarg = varchar, rightarg = text, procedure = texticrege create operator !~* (leftarg = varchar, rightarg = text, procedure = texticrege
xne); xne);
_________________________________________________________________ _________________________________________________________________
Changes Changes
Source code maintenance and development Source code maintenance and development
* worldwide team of volunteers * worldwide team of volunteers
...@@ -4786,20 +4827,20 @@ New Ports ...@@ -4786,20 +4827,20 @@ New Ports
* added BSD/OS 2.1 port * added BSD/OS 2.1 port
* added DG/UX port * added DG/UX port
_________________________________________________________________ _________________________________________________________________
Release 1.01 Release 1.01
Release date: 1996-02-23 Release date: 1996-02-23
_________________________________________________________________ _________________________________________________________________
Migration from version 1.0 to version 1.01 Migration from version 1.0 to version 1.01
The following notes are for the benefit of users who want to migrate The following notes are for the benefit of users who want to migrate
databases from Postgres95 1.0 to Postgres95 1.01. databases from Postgres95 1.0 to Postgres95 1.01.
If you are starting afresh with Postgres95 1.01 and do not need to If you are starting afresh with Postgres95 1.01 and do not need to
migrate old databases, you do not need to read any further. migrate old databases, you do not need to read any further.
In order to Postgres95 version 1.01 with databases created with In order to Postgres95 version 1.01 with databases created with
Postgres95 version 1.0, the following steps are required: Postgres95 version 1.0, the following steps are required:
1. Set the definition of NAMEDATALEN in "src/Makefile.global" to 16 1. Set the definition of NAMEDATALEN in "src/Makefile.global" to 16
...@@ -4881,8 +4922,8 @@ create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq) ...@@ -4881,8 +4922,8 @@ create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq)
create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne
); );
_________________________________________________________________ _________________________________________________________________
Changes Changes
Incompatibilities: Incompatibilities:
* 1.01 is backwards compatible with 1.0 database provided the user * 1.01 is backwards compatible with 1.0 database provided the user
...@@ -4917,13 +4958,13 @@ Bug fixes: ...@@ -4917,13 +4958,13 @@ Bug fixes:
* psql now returns non-zero status on errors when using -c * psql now returns non-zero status on errors when using -c
* applied public patches 1-14 * applied public patches 1-14
_________________________________________________________________ _________________________________________________________________
Release 1.0 Release 1.0
Release date: 1995-09-05 Release date: 1995-09-05
_________________________________________________________________ _________________________________________________________________
Changes Changes
Copyright change: Copyright change:
* The copyright of Postgres 1.0 has been loosened to be freely modifiable * The copyright of Postgres 1.0 has been loosened to be freely modifiable
...@@ -4965,13 +5006,13 @@ Bug fixes: ...@@ -4965,13 +5006,13 @@ Bug fixes:
* btrees with multiple index never worked, now we tell you they don't * btrees with multiple index never worked, now we tell you they don't
work when you try to use them work when you try to use them
_________________________________________________________________ _________________________________________________________________
Postgres95 Release 0.03 Postgres95 Release 0.03
Release date: 1995-07-21 Release date: 1995-07-21
_________________________________________________________________ _________________________________________________________________
Changes Changes
Incompatible changes: Incompatible changes:
* BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
...@@ -5079,13 +5120,13 @@ New utilities: ...@@ -5079,13 +5120,13 @@ New utilities:
New documentation: New documentation:
* the user manual has been revised and libpq documentation added. * the user manual has been revised and libpq documentation added.
_________________________________________________________________ _________________________________________________________________
Postgres95 Release 0.02 Postgres95 Release 0.02
Release date: 1995-05-25 Release date: 1995-05-25
_________________________________________________________________ _________________________________________________________________
Changes Changes
Incompatible changes: Incompatible changes:
* The SQL statement for creating a database is 'CREATE DATABASE' instead * The SQL statement for creating a database is 'CREATE DATABASE' instead
...@@ -5121,9 +5162,9 @@ The following bugs have been fixed in postgres95-beta-0.02: ...@@ -5121,9 +5162,9 @@ The following bugs have been fixed in postgres95-beta-0.02:
* CREATE TYPE doesn't accept 'variable' as the internallength * CREATE TYPE doesn't accept 'variable' as the internallength
* wrong result using more than 1 aggregate in a SELECT * wrong result using more than 1 aggregate in a SELECT
_________________________________________________________________ _________________________________________________________________
Postgres95 Release 0.01 Postgres95 Release 0.01
Release date: 1995-05-01 Release date: 1995-05-01
Initial release. Initial release.
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.256 2004/03/02 00:38:46 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.257 2004/03/05 19:51:56 momjian Exp $
--> -->
<appendix id="release"> <appendix id="release">
<title>Release Notes</title> <title>Release Notes</title>
<sect1 id="release-7-4-2">
<title>Release 7.4.2</title>
<note>
<title>Release date</title>
<simpara>2004-03-??</simpara>
</note>
<para>
This release contains a variety of fixes from 7.4.1.
</para>
<sect2>
<title>Migration to version 7.4.2</title>
<para>
A dump/restore is <emphasis>not</emphasis> required for those
running 7.4.X.
</para>
</sect2>
<sect2>
<title>Changes</title>
<para>As of 2004-03-02</para>
<itemizedlist>
<listitem><para>Fix problems with ALTER TABLE during concurrent access (Tom)</para></listitem>
<listitem><para>Improve hash build reliability (Tom)</para></listitem>
<listitem><para>Fix statistics alignment bug that could affect optimizer, initdb required (Tom)</para></listitem>
<listitem><para>Optimizer improvements (Tom)</para></listitem>
<listitem><para>Permission fix for view updates (Tom)</para></listitem>
<listitem><para>Allow non-super users to update pg_settings (Tom)</para></listitem>
<listitem><para>Fix for multibyte handling in position() (Korea PostgreSQL Users' Group)</para></listitem>
<listitem><para>Various multibyte fixes</para></listitem>
<listitem><para>Fix problem with hitting open file limit, especially on OS X (Tom)</para></listitem>
<listitem><para>Have pg_dump set client encoding on restore (Tom)</para></listitem>
<listitem><para>Allow ecpg to again use C keywords as column names (Michael)</para></listitem>
<listitem><para>Added ecpg WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE (Michael)</para></listitem>
<listitem><para>Fix ecpg crash for queries calling set-returning functions (Michael)</para></listitem>
<listitem><para>Various ecpg fixes (Michael)</para></listitem>
<listitem><para>Fixes for Borland compiler</para></listitem>
<listitem><para>Thread build improvements (Bruce)</para></listitem>
<listitem><para>Fix for configure --disable-shared support (Tom)</para></listitem>
<listitem><para>Various build fixes</para></listitem>
<listitem><para>Various jdbc fixes</para></listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-7-4-1"> <sect1 id="release-7-4-1">
<title>Release 7.4.1</title> <title>Release 7.4.1</title>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment