From: Tom Lane Date: Mon, 3 Oct 2005 16:05:09 +0000 (+0000) Subject: Update release notes for pending back-branch releases. X-Git-Tag: REL7_4_9~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd366be49a243fd1356e1be0406314adbfaa2611;p=postgresql Update release notes for pending back-branch releases. --- diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index a9435ea41b..e593e47af5 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,10 +1,72 @@ Release Notes + + + Release 7.4.9 + + + Release date + 2005-10-04 + + + + This release contains a variety of fixes from 7.4.8. + + + + Migration to version 7.4.9 + + + A dump/restore is not required for those running 7.4.X. However, + if you are upgrading from a version earlier than 7.4.8, see the release + notes for 7.4.8. + + + + Changes + + +Fix error that allowed VACUUM to remove +ctid chains too soon, and add more checking in code that follows +ctid links +This fixes a long-standing problem that could cause crashes in very rare +circumstances. +Fix CHAR() to properly pad spaces to the specified +length when using a multiple-byte character set (Yoshiyuki Asaba) +In prior releases, the padding of CHAR() was incorrect +because it only padded to the specified number of bytes without +considering how many characters were stored. +Fix planning problem with outer-join ON clauses that reference +only the inner-side relation +Further fixes for x FULL JOIN y ON true corner +cases +Make array_in and array_recv more +paranoid about validating their OID parameter +Fix missing rows in queries like UPDATE a=... WHERE +a... with GiST index on column a +Improve robustness of datetime parsing +Improve checking for partially-written WAL +pages +Improve robustness of signal handling when SSL is +enabled +Don't try to open more than max_files_per_process +files during postmaster startup +Various memory leakage fixes +Various portability improvements +Fix PL/PgSQL to handle var := var correctly when +the variable is of pass-by-reference type +Update contrib/tsearch2 to use current Snowball +code + + + + + Release 7.4.8 @@ -184,8 +246,8 @@ holder of the lock released it within a very narrow window. ALTER TABLE SET WITHOUT OIDS - - + + Release 7.4.7 @@ -242,8 +304,8 @@ datestyles GMT - - + + Release 7.4.6 @@ -312,8 +374,8 @@ This could arise in cases such as CLUSTER after ALTER TABLE DROP COLUMN. ECPG prepare statement - - + + Release 7.4.5 @@ -348,8 +410,8 @@ still worth a re-release. The bug does not exist in pre-7.4 releases. - - + + Release 7.4.4 @@ -398,8 +460,8 @@ aggregate plan Translation updates (various contributors) - - + + Release 7.4.3 @@ -454,8 +516,8 @@ names from outer query levels. Numerous translation updates (various contributors) - - + + Release 7.4.2 @@ -595,8 +657,8 @@ inconveniences associated with the i/I problem. Various JDBC fixes - - + + Release 7.4.1 @@ -723,424 +785,426 @@ DROP SCHEMA information_schema CASCADE; Major changes in this release: + - - - - IN / NOT IN subqueries are - now much more efficient - - - - - In previous releases, IN/NOT - IN subqueries were joined to the upper query by - sequentially scanning the subquery looking for a match. The - 7.4 code uses the same sophisticated techniques used by - ordinary joins and so is much faster. An - IN will now usually be as fast as or faster - than an equivalent EXISTS subquery; this - reverses the conventional wisdom that applied to previous - releases. - - - - - - - Improved GROUP BY processing by using hash buckets - - - - - In previous releases, rows to be grouped had to be sorted - first. The 7.4 code can do GROUP BY - without sorting, by accumulating results into a hash table - with one entry per group. It will still use the sort - technique, however, if the hash table is estimated to be too - large to fit in sort_mem. - - - - - - - New multikey hash join capability - - - - - In previous releases, hash joins could only occur on single - keys. This release allows multicolumn hash joins. - - - - - - - Queries using the explicit JOIN syntax are - now better optimized - - - - - Prior releases evaluated queries using the explicit - JOIN syntax only in the order implied by - the syntax. 7.4 allows full optimization of these queries, - meaning the optimizer considers all possible join orderings - and chooses the most efficient. Outer joins, however, must - still follow the declared ordering. - - - - - - - Faster and more powerful regular expression code - - - - - The entire regular expression module has been replaced with a - new version by Henry Spencer, originally written for Tcl. The - code greatly improves performance and supports several flavors - of regular expressions. - - - - - - - Function-inlining for simple SQL functions - - - - - Simple SQL functions can now be inlined by including their SQL - in the main query. This improves performance by eliminating - per-call overhead. That means simple SQL functions now - behave like macros. - - - - - - - Full support for IPv6 connections and IPv6 address data types - - - - - Previous releases allowed only IPv4 connections, and the IP - data types only supported IPv4 addresses. This release adds - full IPv6 support in both of these areas. - - - - - - - Major improvements in SSL performance and reliability - - - - - Several people very familiar with the SSL API have overhauled - our SSL code to improve SSL key negotiation and error - recovery. - - - - - - - Make free space map efficiently reuse empty index pages, - and other free space management improvements - - - - - In previous releases, B-tree index pages that were left empty - because of deleted rows could only be reused by rows with - index values similar to the rows originally indexed on that - page. In 7.4, VACUUM records empty index - pages and allows them to be reused for any future index rows. - - - - - - - SQL-standard information schema - - - - - The information schema provides a standardized and stable way - to access information about the schema objects defined in a - database. - - - - - - - Cursors conform more closely to the SQL standard - - - - - The commands FETCH and - MOVE have been overhauled to conform more - closely to the SQL standard. - - - - - - - Cursors can exist outside transactions - - - - - These cursors are also called holdable cursors. - - - - - - - New client-to-server protocol - - - - - The new protocol adds error codes, more status information, - faster startup, better support for binary data transmission, - parameter values separated from SQL commands, prepared - statements available at the protocol level, and cleaner - recovery from COPY failures. The older - protocol is still supported by both server and clients. - - - - - - - libpq and - ECPG applications are now fully - thread-safe - - - - - While previous libpq releases - already supported threads, this release improves thread safety - by fixing some non-thread-safe code that was used during - database connection startup. The configure - option must be used to - enable this feature. - - - - - - - New version of full-text indexing - + + + + IN / NOT IN subqueries are + now much more efficient + - - - A new full-text indexing suite is available in - contrib/tsearch2. - - - + + + In previous releases, IN/NOT + IN subqueries were joined to the upper query by + sequentially scanning the subquery looking for a match. The + 7.4 code uses the same sophisticated techniques used by + ordinary joins and so is much faster. An + IN will now usually be as fast as or faster + than an equivalent EXISTS subquery; this + reverses the conventional wisdom that applied to previous + releases. + + + - - - New autovacuum tool - + + + Improved GROUP BY processing by using hash buckets + - - - The new autovacuum tool in - contrib/autovacuum monitors the database - statistics tables for - INSERT/UPDATE/DELETE - activity and automatically vacuums tables when needed. - - - + + + In previous releases, rows to be grouped had to be sorted + first. The 7.4 code can do GROUP BY + without sorting, by accumulating results into a hash table + with one entry per group. It will still use the sort + technique, however, if the hash table is estimated to be too + large to fit in sort_mem. + + + - - - Array handling has been improved and moved into the server core - + + + New multikey hash join capability + - - - Many array limitations have been removed, and arrays behave - more like fully-supported data types. - - - - - - + + + In previous releases, hash joins could only occur on single + keys. This release allows multicolumn hash joins. + + + - - Migration to version 7.4 - - - A dump/restore using pg_dump is - required for those wishing to migrate data from any previous - release. - - - - Observe the following incompatibilities: + + + Queries using the explicit JOIN syntax are + now better optimized + - - The server-side autocommit setting was removed and - reimplemented in client applications and languages. - Server-side autocommit was causing too many problems with - languages and applications that wanted to control their own - autocommit behavior, so autocommit was removed from the server - and added to individual client APIs as appropriate. + Prior releases evaluated queries using the explicit + JOIN syntax only in the order implied by + the syntax. 7.4 allows full optimization of these queries, + meaning the optimizer considers all possible join orderings + and chooses the most efficient. Outer joins, however, must + still follow the declared ordering. + + + + + Faster and more powerful regular expression code + - Error message wording has changed substantially in this - release. Significant effort was invested to make the messages - more consistent and user-oriented. If your applications try to - detect different error conditions by parsing the error message, - you are strongly encouraged to use the new error code facility instead. + The entire regular expression module has been replaced with a + new version by Henry Spencer, originally written for Tcl. The + code greatly improves performance and supports several flavors + of regular expressions. + + + + + Function-inlining for simple SQL functions + - Inner joins using the explicit JOIN syntax - may behave differently because they are now better - optimized. + Simple SQL functions can now be inlined by including their SQL + in the main query. This improves performance by eliminating + per-call overhead. That means simple SQL functions now + behave like macros. + + + + + Full support for IPv6 connections and IPv6 address data types + - A number of server configuration parameters have been renamed - for clarity, primarily those related to - logging. + Previous releases allowed only IPv4 connections, and the IP + data types only supported IPv4 addresses. This release adds + full IPv6 support in both of these areas. + + + + + Major improvements in SSL performance and reliability + - FETCH 0 or MOVE 0 now - does nothing. In prior releases, FETCH 0 - would fetch all remaining rows, and MOVE 0 - would move to the end of the cursor. + Several people very familiar with the SSL API have overhauled + our SSL code to improve SSL key negotiation and error + recovery. - + + + + + Make free space map efficiently reuse empty index pages, + and other free space management improvements + + - FETCH and MOVE now return - the actual number of rows fetched/moved, or zero if at the - beginning/end of the cursor. Prior releases would return the - row count passed to the command, not the number of rows - actually fetched or moved. + In previous releases, B-tree index pages that were left empty + because of deleted rows could only be reused by rows with + index values similar to the rows originally indexed on that + page. In 7.4, VACUUM records empty index + pages and allows them to be reused for any future index rows. + + + + + SQL-standard information schema + - COPY now can process files that use - carriage-return or carriage-return/line-feed end-of-line - sequences. Literal carriage-returns and line-feeds are no - longer accepted in data values; use \r and - \n instead. + The information schema provides a standardized and stable way + to access information about the schema objects defined in a + database. + + + + + Cursors conform more closely to the SQL standard + - Trailing spaces are now trimmed when converting from type - char(n) to - varchar(n) or text. - This is what most people always expected to happen anyway. + The commands FETCH and + MOVE have been overhauled to conform more + closely to the SQL standard. + + + + + Cursors can exist outside transactions + - The data type float(p) now - measures p in binary digits, not decimal - digits. The new behavior follows the SQL standard. + These cursors are also called holdable cursors. + + + + + New client-to-server protocol + - Ambiguous date values now must match the ordering specified by - the datestyle setting. In prior releases, a - date specification of 10/20/03 was interpreted as a - date in October even if datestyle specified that - the day should be first. 7.4 will throw an error if a date - specification is invalid for the current setting of - datestyle. + The new protocol adds error codes, more status information, + faster startup, better support for binary data transmission, + parameter values separated from SQL commands, prepared + statements available at the protocol level, and cleaner + recovery from COPY failures. The older + protocol is still supported by both server and clients. + + + + + libpq and + ECPG applications are now fully + thread-safe + - The functions oidrand, - oidsrand, and - userfntest have been removed. These - functions were determined to be no longer useful. + While previous libpq releases + already supported threads, this release improves thread safety + by fixing some non-thread-safe code that was used during + database connection startup. The configure + option must be used to + enable this feature. + + + + + New version of full-text indexing + - String literals specifying time-varying date/time values, such - as 'now' or 'today' will - no longer work as expected in column default expressions; they - now cause the time of the table creation to be the default, not - the time of the insertion. Functions such as - now(), current_timestamp, or - current_date should be used instead. + A new full-text indexing suite is available in + contrib/tsearch2. + + + + + New autovacuum tool + + + - In previous releases, there was special code so that strings - such as 'now' were interpreted at - INSERT time and not at table creation time, but - this work around didn't cover all cases. Release 7.4 now - requires that defaults be defined properly using functions such - as now() or current_timestamp. These - will work in all situations. + The new autovacuum tool in + contrib/autovacuum monitors the database + statistics tables for + INSERT/UPDATE/DELETE + activity and automatically vacuums tables when needed. + + + + + Array handling has been improved and moved into the server core + - The dollar sign ($) is no longer allowed in - operator names. It can instead be a non-first character in - identifiers. This was done to improve compatibility with other - database systems, and to avoid syntax problems when parameter - placeholders ($n) are written - adjacent to operators. + Many array limitations have been removed, and arrays behave + more like fully-supported data types. - + + + + + + + Migration to version 7.4 + + + A dump/restore using pg_dump is + required for those wishing to migrate data from any previous + release. + + + + Observe the following incompatibilities: + + + + + The server-side autocommit setting was removed and + reimplemented in client applications and languages. + Server-side autocommit was causing too many problems with + languages and applications that wanted to control their own + autocommit behavior, so autocommit was removed from the server + and added to individual client APIs as appropriate. + + + + + + Error message wording has changed substantially in this + release. Significant effort was invested to make the messages + more consistent and user-oriented. If your applications try to + detect different error conditions by parsing the error message, + you are strongly encouraged to use the new error code facility instead. + + + + + + Inner joins using the explicit JOIN syntax + may behave differently because they are now better + optimized. + + + + + + A number of server configuration parameters have been renamed + for clarity, primarily those related to + logging. + + + + + + FETCH 0 or MOVE 0 now + does nothing. In prior releases, FETCH 0 + would fetch all remaining rows, and MOVE 0 + would move to the end of the cursor. + + + + + + FETCH and MOVE now return + the actual number of rows fetched/moved, or zero if at the + beginning/end of the cursor. Prior releases would return the + row count passed to the command, not the number of rows + actually fetched or moved. + + + + + + COPY now can process files that use + carriage-return or carriage-return/line-feed end-of-line + sequences. Literal carriage-returns and line-feeds are no + longer accepted in data values; use \r and + \n instead. + + + + + + Trailing spaces are now trimmed when converting from type + char(n) to + varchar(n) or text. + This is what most people always expected to happen anyway. + + + + + + The data type float(p) now + measures p in binary digits, not decimal + digits. The new behavior follows the SQL standard. + + + + + + Ambiguous date values now must match the ordering specified by + the datestyle setting. In prior releases, a + date specification of 10/20/03 was interpreted as a + date in October even if datestyle specified that + the day should be first. 7.4 will throw an error if a date + specification is invalid for the current setting of + datestyle. + + + + + + The functions oidrand, + oidsrand, and + userfntest have been removed. These + functions were determined to be no longer useful. + + + + + + String literals specifying time-varying date/time values, such + as 'now' or 'today' will + no longer work as expected in column default expressions; they + now cause the time of the table creation to be the default, not + the time of the insertion. Functions such as + now(), current_timestamp, or + current_date should be used instead. + + + + In previous releases, there was special code so that strings + such as 'now' were interpreted at + INSERT time and not at table creation time, but + this work around didn't cover all cases. Release 7.4 now + requires that defaults be defined properly using functions such + as now() or current_timestamp. These + will work in all situations. + + + + + + The dollar sign ($) is no longer allowed in + operator names. It can instead be a non-first character in + identifiers. This was done to improve compatibility with other + database systems, and to avoid syntax problems when parameter + placeholders ($n) are written + adjacent to operators. + + + + @@ -2567,6 +2631,57 @@ DROP SCHEMA information_schema CASCADE; + + + Release 7.3.11 + + + Release date + 2005-10-04 + + + + This release contains a variety of fixes from 7.3.10. + + + + Migration to version 7.3.11 + + + A dump/restore is not required for those running 7.3.X. However, + if you are upgrading from a version earlier than 7.3.10, see the release + notes for 7.3.10. + + + + + Changes + + +Fix error that allowed VACUUM to remove +ctid chains too soon, and add more checking in code that follows +ctid links +This fixes a long-standing problem that could cause crashes in very rare +circumstances. +Fix CHAR() to properly pad spaces to the specified +length when using a multiple-byte character set (Yoshiyuki Asaba) +In prior releases, the padding of CHAR() was incorrect +because it only padded to the specified number of bytes without +considering how many characters were stored. +Fix missing rows in queries like UPDATE a=... WHERE +a... with GiST index on column a +Improve checking for partially-written WAL +pages +Improve robustness of signal handling when SSL is +enabled +Various memory leakage fixes +Various portability improvements +Fix PL/PgSQL to handle var := var correctly when +the variable is of pass-by-reference type + + + + Release 7.3.10 @@ -3172,291 +3287,289 @@ operations on bytea columns (Joe) Release date - 2002-12-18 - - - - This release contains a variety of fixes for version 7.3. - - - - - Migration to version 7.3.1 - - - A dump/restore is not required for those - running version 7.3. However, it should be noted that the main - PostgreSQL interface library, libpq, - has a new major version number for this release, which may require - recompilation of client code in certain cases. - - - - - Changes - - -Fix a core dump of COPY TO when client/server encodings don't match (Tom) -Allow pg_dump to work with pre-7.2 servers (Philip) -contrib/adddepend fixes (Tom) -Fix problem with deletion of per-user/per-database config settings (Tom) -contrib/vacuumlo fix (Tom) -Allow 'password' encryption even when pg_shadow contains MD5 passwords (Bruce) -contrib/dbmirror fix (Steven Singer) -Optimizer fixes (Tom) -contrib/tsearch fixes (Teodor Sigaev, Magnus) -Allow locale names to be mixed case (Nicolai Tufar) -Increment libpq library's major version number (Bruce) -pg_hba.conf error reporting fixes (Bruce, Neil) -Add SCO Openserver 5.0.4 as a supported platform (Bruce) -Prevent EXPLAIN from crashing server (Tom) -SSL fixes (Nathan Mueller) -Prevent composite column creation via ALTER TABLE (Tom) - - - - - - - Release 7.3 - - - Release date - 2002-11-27 - - - - Overview - - - Major changes in this release: - - - - Schemas - - - Schemas allow users to create objects in separate namespaces, - so two people or applications can have tables with the same - name. There is also a public schema for shared tables. - Table/index creation can be restricted by removing privileges - on the public schema. - - - - - - Drop Column - - - PostgreSQL now supports the - ALTER TABLE ... DROP COLUMN functionality. - - - - - - Table Functions - - - Functions returning multiple rows and/or multiple columns are - now much easier to use than before. You can call such a - table function in the SELECT - FROM clause, treating its output like a - table. Also, PL/pgSQL functions can - now return sets. - - - - - - Prepared Queries - - - PostgreSQL now supports prepared - queries, for improved performance. - - - - - - Dependency Tracking - - - PostgreSQL now records object - dependencies, which allows improvements in many areas. - DROP statements now take either - CASCADE or RESTRICT to control whether - dependent objects are also dropped. - - - - - - Privileges - - - Functions and procedural languages now have privileges, and - functions can be defined to run with the privileges of their - creator. - - - - - - Internationalization - - - Both multibyte and locale support are now always enabled. - - - + 2002-12-18 + - - Logging - - - A variety of logging options have been enhanced. - - - + + This release contains a variety of fixes for version 7.3. + - - Interfaces - - - A large number of interfaces have been moved to http://gborg.postgresql.org - where they can be developed and released independently. - - - - - Functions/Identifiers - - - By default, functions can now take up to 32 parameters, and - identifiers can be up to 63 bytes long. Also, OPAQUE - is now deprecated: there are specific pseudo-datatypes - to represent each of the former meanings of OPAQUE - in function argument and result types. - - - + + Migration to version 7.3.1 - + + A dump/restore is not required for those + running version 7.3. However, it should be noted that the main + PostgreSQL interface library, libpq, + has a new major version number for this release, which may require + recompilation of client code in certain cases. - Migration to version 7.3 + Changes - - A dump/restore using pg_dump is required for those - wishing to migrate data from any previous release. If your - application examines the system catalogs, additional changes will - be required due to the introduction of schemas in 7.3; for more - information, see: - http://developer.postgresql.org/~momjian/upgrade_tips_7.3. - + +Fix a core dump of COPY TO when client/server encodings don't match (Tom) +Allow pg_dump to work with pre-7.2 servers (Philip) +contrib/adddepend fixes (Tom) +Fix problem with deletion of per-user/per-database config settings (Tom) +contrib/vacuumlo fix (Tom) +Allow 'password' encryption even when pg_shadow contains MD5 passwords (Bruce) +contrib/dbmirror fix (Steven Singer) +Optimizer fixes (Tom) +contrib/tsearch fixes (Teodor Sigaev, Magnus) +Allow locale names to be mixed case (Nicolai Tufar) +Increment libpq library's major version number (Bruce) +pg_hba.conf error reporting fixes (Bruce, Neil) +Add SCO Openserver 5.0.4 as a supported platform (Bruce) +Prevent EXPLAIN from crashing server (Tom) +SSL fixes (Nathan Mueller) +Prevent composite column creation via ALTER TABLE (Tom) + + + + + + + Release 7.3 + + + Release date + 2002-11-27 + + + + Overview - Observe the following incompatibilities: + Major changes in this release: + - + + + Schemas - Pre-6.3 clients are no longer supported. + Schemas allow users to create objects in separate namespaces, + so two people or applications can have tables with the same + name. There is also a public schema for shared tables. + Table/index creation can be restricted by removing privileges + on the public schema. + + + Drop Column - pg_hba.conf now has a column for the user - name and additional features. Existing files need to be - adjusted. + PostgreSQL now supports the + ALTER TABLE ... DROP COLUMN functionality. + + + Table Functions - Several postgresql.conf logging parameters - have been renamed. + Functions returning multiple rows and/or multiple columns are + now much easier to use than before. You can call such a + table function in the SELECT + FROM clause, treating its output like a + table. Also, PL/pgSQL functions can + now return sets. + + + Prepared Queries - LIMIT #,# has been disabled; use - LIMIT # OFFSET #. + PostgreSQL now supports prepared + queries, for improved performance. + + + Dependency Tracking - INSERT statements with column lists must - specify a value for each specified column. For example, - INSERT INTO tab (col1, col2) VALUES ('val1') - is now invalid. It's still allowed to supply fewer columns than - expected if the INSERT does not have a column list. + PostgreSQL now records object + dependencies, which allows improvements in many areas. + DROP statements now take either + CASCADE or RESTRICT to control whether + dependent objects are also dropped. + + + Privileges - serial columns are no longer automatically - UNIQUE; thus, an index will not automatically be - created. + Functions and procedural languages now have privileges, and + functions can be defined to run with the privileges of their + creator. + + + Internationalization - A SET command inside an aborted transaction - is now rolled back. + Both multibyte and locale support are now always enabled. + + + Logging - COPY no longer considers missing trailing - columns to be null. All columns need to be specified. - (However, one may achieve a similar effect by specifying a - column list in the COPY command.) + A variety of logging options have been enhanced. + + + Interfaces - The data type timestamp is now equivalent to - timestamp without time zone, instead of - timestamp with time zone. + A large number of interfaces have been moved to http://gborg.postgresql.org + where they can be developed and released independently. + + + Functions/Identifiers - Pre-7.3 databases loaded into 7.3 will not have the new object - dependencies for serial columns, unique - constraints, and foreign keys. See the directory - contrib/adddepend/ for a detailed - description and a script that will add such dependencies. + By default, functions can now take up to 32 parameters, and + identifiers can be up to 63 bytes long. Also, OPAQUE + is now deprecated: there are specific pseudo-datatypes + to represent each of the former meanings of OPAQUE + in function argument and result types. + - - - An empty string ('') is no longer allowed as - the input into an integer field. Formerly, it was silently - interpreted as 0. - - + + - + + Migration to version 7.3 + + + A dump/restore using pg_dump is required for those + wishing to migrate data from any previous release. If your + application examines the system catalogs, additional changes will + be required due to the introduction of schemas in 7.3; for more + information, see: . + + + + Observe the following incompatibilities: + + + + Pre-6.3 clients are no longer supported. + + + + + + pg_hba.conf now has a column for the user + name and additional features. Existing files need to be + adjusted. + + + + + + Several postgresql.conf logging parameters + have been renamed. + + + + + + LIMIT #,# has been disabled; use + LIMIT # OFFSET #. + + + + + + INSERT statements with column lists must + specify a value for each specified column. For example, + INSERT INTO tab (col1, col2) VALUES ('val1') + is now invalid. It's still allowed to supply fewer columns than + expected if the INSERT does not have a column list. + + + + + + serial columns are no longer automatically + UNIQUE; thus, an index will not automatically be + created. + + + + + + A SET command inside an aborted transaction + is now rolled back. + + + + + + COPY no longer considers missing trailing + columns to be null. All columns need to be specified. + (However, one may achieve a similar effect by specifying a + column list in the COPY command.) + + + + + + The data type timestamp is now equivalent to + timestamp without time zone, instead of + timestamp with time zone. + + + + + + Pre-7.3 databases loaded into 7.3 will not have the new object + dependencies for serial columns, unique + constraints, and foreign keys. See the directory + contrib/adddepend/ for a detailed + description and a script that will add such dependencies. + + + + + + An empty string ('') is no longer allowed as + the input into an integer field. Formerly, it was silently + interpreted as 0. + + + + @@ -4179,198 +4292,200 @@ since PostgreSQL 7.1. This release contains a variety of fixes for version 7.2. - - Migration to version 7.2.1 - - - A dump/restore is not required for those - running version 7.2. - - - - - Changes - - -Ensure that sequence counters do not go backwards after a crash (Tom) -Fix pgaccess kanji-conversion key binding (Tatsuo) -Optimizer improvements (Tom) -Cash I/O improvements (Tom) -New Russian FAQ -Compile fix for missing AuthBlockSig (Heiko) -Additional time zones and time zone fixes (Thomas) -Allow psql \connect to handle mixed case database and user names (Tom) -Return proper OID on command completion even with ON INSERT rules (Tom) -Allow COPY FROM to use 8-bit DELIMITERS (Tatsuo) -Fix bug in extract/date_part for milliseconds/microseconds (Tatsuo) -Improve handling of multiple UNIONs with different lengths (Tom) -contrib/btree_gist improvements (Teodor Sigaev) -contrib/tsearch dictionary improvements, see README.tsearch for an additional installation step (Thomas T. Thai, Teodor Sigaev) -Fix for array subscripts handling (Tom) -Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) - - - - - - - Release 7.2 - - - Release date - 2002-02-04 - - - - Overview - - - This release improves PostgreSQL for use in - high-volume applications. - - - - Major changes in this release: - - - - VACUUM - - - Vacuuming no longer locks tables, thus allowing normal user - access during the vacuum. A new VACUUM FULL - command does old-style vacuum by locking the table and - shrinking the on-disk copy of the table. - - - - - - Transactions - - - There is no longer a problem with installations that exceed - four billion transactions. - - - - - - OIDs - - - OIDs are now optional. Users can now create tables without - OIDs for cases where OID usage is excessive. - - - - - - Optimizer - - - The system now computes histogram column statistics during - ANALYZE, allowing much better optimizer choices. - - - - - - Security - - - A new MD5 encryption option allows more secure storage and - transfer of passwords. A new Unix-domain socket - authentication option is available on Linux and BSD systems. - - - - - - Statistics - - - Administrators can use the new table access statistics module - to get fine-grained information about table and index usage. - - - - - - Internationalization - - - Program and library messages can now be displayed in several - languages. - - - - + + Migration to version 7.2.1 + + + A dump/restore is not required for those + running version 7.2. - Migration to version 7.2 + Changes + + +Ensure that sequence counters do not go backwards after a crash (Tom) +Fix pgaccess kanji-conversion key binding (Tatsuo) +Optimizer improvements (Tom) +Cash I/O improvements (Tom) +New Russian FAQ +Compile fix for missing AuthBlockSig (Heiko) +Additional time zones and time zone fixes (Thomas) +Allow psql \connect to handle mixed case database and user names (Tom) +Return proper OID on command completion even with ON INSERT rules (Tom) +Allow COPY FROM to use 8-bit DELIMITERS (Tatsuo) +Fix bug in extract/date_part for milliseconds/microseconds (Tatsuo) +Improve handling of multiple UNIONs with different lengths (Tom) +contrib/btree_gist improvements (Teodor Sigaev) +contrib/tsearch dictionary improvements, see README.tsearch for an additional installation step (Thomas T. Thai, Teodor Sigaev) +Fix for array subscripts handling (Tom) +Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) + + + + + + + Release 7.2 + + + Release date + 2002-02-04 + + + + Overview - A dump/restore using pg_dump is required for - those wishing to migrate data from any previous release. + This release improves PostgreSQL for use in + high-volume applications. - Observe the following incompatibilities: + Major changes in this release: + - + + + VACUUM - The semantics of the VACUUM command have - changed in this release. You may wish to update your - maintenance procedures accordingly. + Vacuuming no longer locks tables, thus allowing normal user + access during the vacuum. A new VACUUM FULL + command does old-style vacuum by locking the table and + shrinking the on-disk copy of the table. + + + Transactions - In this release, comparisons using = NULL - will always return false (or NULL, more precisely). Previous - releases automatically transformed this syntax to IS - NULL. The old behavior can be re-enabled using a - postgresql.conf parameter. + There is no longer a problem with installations that exceed + four billion transactions. + + + OIDs - The pg_hba.conf and pg_ident.conf - configuration is now only reloaded after receiving a - SIGHUP signal, not with each connection. + OIDs are now optional. Users can now create tables without + OIDs for cases where OID usage is excessive. + + + Optimizer - The function octet_length() now returns the uncompressed data length. + The system now computes histogram column statistics during + ANALYZE, allowing much better optimizer choices. + + + Security - The date/time value 'current' is no longer - available. You will need to rewrite your applications. + A new MD5 encryption option allows more secure storage and + transfer of passwords. A new Unix-domain socket + authentication option is available on Linux and BSD systems. + + + Statistics - The timestamp(), time(), - and interval() functions are no longer - available. Instead of timestamp(), use - timestamp 'string' or CAST. + Administrators can use the new table access statistics module + to get fine-grained information about table and index usage. - + + + + Internationalization + + + Program and library messages can now be displayed in several + languages. + + + + + + + + + Migration to version 7.2 + + + A dump/restore using pg_dump is required for + those wishing to migrate data from any previous release. + + Observe the following incompatibilities: + + + + + + The semantics of the VACUUM command have + changed in this release. You may wish to update your + maintenance procedures accordingly. + + + + + + In this release, comparisons using = NULL + will always return false (or NULL, more precisely). Previous + releases automatically transformed this syntax to IS + NULL. The old behavior can be re-enabled using a + postgresql.conf parameter. + + + + + + The pg_hba.conf and pg_ident.conf + configuration is now only reloaded after receiving a + SIGHUP signal, not with each connection. + + + + + + The function octet_length() now returns the uncompressed data length. + + + + + + The date/time value 'current' is no longer + available. You will need to rewrite your applications. + + + + + + The timestamp(), time(), + and interval() functions are no longer + available. Instead of timestamp(), use + timestamp 'string' or CAST. + + + + + The SELECT ... LIMIT #,# syntax will be removed in the next release. You should change your queries to use @@ -4905,83 +5020,83 @@ Python fixes (Darcy) Major changes in this release: + - - - - Write-ahead Log (WAL) - - - + + + + Write-ahead Log (WAL) + + + To maintain database consistency in case of an operating system crash, previous releases of PostgreSQL have forced all data modifications to disk before each transaction commit. With WAL, only one log file must be flushed to disk, greatly improving performance. If you have been using -F in previous releases to disable disk flushes, you may want to consider discontinuing its use. - - - + + + - - - TOAST - - - - TOAST - Previous releases had a compiled-in row length limit, + + + TOAST + + + + TOAST - Previous releases had a compiled-in row length limit, typically 8k - 32k. This limit made storage of long text fields difficult. With TOAST, long rows of any length can be stored with good performance. - - - + + + - - - Outer Joins - - - + + + Outer Joins + + + We now support outer joins. The UNION/NOT IN workaround for outer joins is no longer required. We use the SQL92 outer join syntax. - - - + + + - - - Function Manager - - - + + + Function Manager + + + The previous C function manager did not handle null values properly, nor did it support 64-bit CPU's (Alpha). The new function manager does. You can continue using your old custom functions, but you may want to rewrite them in the future to use the new function manager call interface. - - - + + + - - - Complex Queries - - - + + + Complex Queries + + + A large number of complex queries that were unsupported in previous releases now work. Many combinations of views, aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables now work properly. Inherited tables are now accessed by default. Subqueries in FROM are now supported. - - - + + + - - + Migration to version 7.1 @@ -5368,62 +5483,63 @@ ecpg changes (Michael) Major changes in this release: + - - - - Foreign Keys - - - - Foreign keys are now implemented, with the exception of PARTIAL MATCH - foreign keys. Many users have been asking for this feature, and we are - pleased to offer it. - - - + + + + Foreign Keys + + + + Foreign keys are now implemented, with the exception of PARTIAL MATCH + foreign keys. Many users have been asking for this feature, and we are + pleased to offer it. + + + - - - Optimizer Overhaul - - - - Continuing on work started a year ago, the optimizer has been - improved, allowing better query plan selection and faster performance - with less memory usage. - - - + + + Optimizer Overhaul + + + + Continuing on work started a year ago, the optimizer has been + improved, allowing better query plan selection and faster performance + with less memory usage. + + + - - - Updated psql - - - - psql, our interactive terminal monitor, has been - updated with a variety of new features. See the psql manual page for details. - - - + + + Updated psql + + + + psql, our interactive terminal monitor, has been + updated with a variety of new features. See the psql manual page for details. + + + - - - Join Syntax - - - - SQL92 join syntax is now supported, though only as - INNER JOIN for this release. JOIN, - NATURAL JOIN, JOIN/USING, - and JOIN/ON are available, as are - column correlation names. - - - - - + + + Join Syntax + + + + SQL92 join syntax is now supported, though only as + INNER JOIN for this release. JOIN, + NATURAL JOIN, JOIN/USING, + and JOIN/ON are available, as are + column correlation names. + + + + + Migration to version 7.0 @@ -5441,54 +5557,53 @@ ecpg changes (Michael) Interface and compatibility issues to consider for the new release include: + - - - - The date/time types datetime and - timespan have been superseded by the - SQL92-defined types timestamp and - interval. Although there has been some effort to - ease the transition by allowing - PostgreSQL to recognize - the deprecated type names and translate them to the new type - names, this mechanism may not be completely transparent to - your existing application. - - - - - - The optimizer has been substantially improved in the area of - query cost estimation. In some cases, this will result in - decreased query times as the optimizer makes a better choice - for the preferred plan. However, in a small number of cases, - usually involving pathological distributions of data, your - query times may go up. If you are dealing with large amounts - of data, you may want to check your queries to verify - performance. - - + + + + The date/time types datetime and + timespan have been superseded by the + SQL92-defined types timestamp and + interval. Although there has been some effort to + ease the transition by allowing + PostgreSQL to recognize + the deprecated type names and translate them to the new type + names, this mechanism may not be completely transparent to + your existing application. + + - - - The JDBC and ODBC - interfaces have been upgraded and extended. - - + + + The optimizer has been substantially improved in the area of + query cost estimation. In some cases, this will result in + decreased query times as the optimizer makes a better choice + for the preferred plan. However, in a small number of cases, + usually involving pathological distributions of data, your + query times may go up. If you are dealing with large amounts + of data, you may want to check your queries to verify + performance. + + - - - The string function CHAR_LENGTH is now a - native function. Previous versions translated this into a call - to LENGTH, which could result in - ambiguity with other types implementing - LENGTH such as the geometric types. - - - - + + + The JDBC and ODBC + interfaces have been upgraded and extended. + + + + + The string function CHAR_LENGTH is now a + native function. Previous versions translated this into a call + to LENGTH, which could result in + ambiguity with other types implementing + LENGTH such as the geometric types. + + + @@ -6976,7 +7091,7 @@ Better identify tcl and tk libs and includes(Bruce) 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 cannot be described in one sentence. A review of the detailed changes list is still needed. @@ -8542,4 +8657,3 @@ sgml-local-catalogs:("/usr/lib/sgml/catalog") sgml-local-ecat-files:nil End: --> -