From: Tom Lane Date: Mon, 3 Oct 2005 16:05:29 +0000 (+0000) Subject: Update release notes for pending back-branch releases. X-Git-Tag: REL7_3_11~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=69fbf4816b6e995a362add621f836c6b398c0137;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 efe527db21..e186e68274 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,9 +1,60 @@ Release Notes + + + 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 @@ -667,233 +718,231 @@ operations on bytea columns (Joe) 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. - - - - - - Logging - - - A variety of logging options have been enhanced. - - - - - - 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 - - - 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. - - Observe the following incompatibilities: - - + + + 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. + + + + @@ -1668,146 +1717,148 @@ since PostgreSQL 7.1. 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 - - - A dump/restore using pg_dump is required for - those wishing to migrate data from any previous release. - - - - Observe the following incompatibilities: + + + 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 - The semantics of the VACUUM command have - changed in this release. You may wish to update your - maintenance procedures accordingly. + There is no longer a problem with installations that exceed + four billion transactions. + + + OIDs - 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. + OIDs are now optional. Users can now create tables without + OIDs for cases where OID usage is excessive. + + + Optimizer - The pg_hba.conf and pg_ident.conf - configuration is now only reloaded after receiving a - SIGHUP signal, not with each connection. + The system now computes histogram column statistics during + ANALYZE, allowing much better optimizer choices. + + + Security - The function octet_length() now returns the uncompressed data length. + 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 date/time value 'current' is no longer - available. You will need to rewrite your applications. + Administrators can use the new table access statistics module + to get fine-grained information about table and index usage. + + + Internationalization - The timestamp(), time(), - and interval() functions are no longer - available. Instead of timestamp(), use - timestamp 'string' or CAST. + 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 @@ -2342,83 +2393,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 @@ -2805,62 +2856,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 @@ -2878,54 +2930,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. + + + @@ -4413,7 +4464,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. @@ -5979,4 +6030,3 @@ sgml-local-catalogs:("/usr/lib/sgml/catalog") sgml-local-ecat-files:nil End: --> -