From d1396696e08dc20c8edc1d42ac6263a26cc80d59 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 23 Dec 2001 18:20:05 +0000 Subject: Lots of content and formatting improvements in release notes. HISTORY now generated from DocBook sources. --- doc/src/sgml/release.sgml | 887 +++++++++++++++++++++++++++------------------- 1 file changed, 515 insertions(+), 372 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index a85ff6d4028..99949e091d6 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,31 +1,25 @@ - - Release Notes + + Release Notes - - Release 7.2 - - + + Release 7.2 + - + + Overview - TO BE FILLED IN. SEE /HISTORY. + This release improves PostgreSQL for use in + high-volume applications. @@ -33,37 +27,516 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.104 2001/11/21 06:09:44 th - - TO BE FILLED IN. SEE /HISTORY. - + 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. + + + + + + OID's -TO BE FILLED IN. SEE /HISTORY. + OID's are now optional. Users can now create tables without + OID's 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 + + Migration to version 7.2 - - A dump/restore using pg_dump is required for those wishing to migrate - data from any previous release. - - + + A dump/restore using pg_dump is required for + those wishing to migrate data from any previous release. + - - Changes + + Observe the following incompatibilities: - - -TO BE FILLED IN. SEE /HISTORY. - - - - + + + + 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 SELECT ... LIMIT #,# syntax will be removed + in the next release. You should change your queries to use + separate LIMIT and OFFSET clauses, e.g. LIMIT 10 OFFSET + 20. + + + + + Changes + + + + Server Operation + +Create temporary files in a separate directory (Bruce) +Delete orphanded temporary files on postmaster startup (Bruce) +Added unique indexes to some system tables (Tom) +System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom) +Renamed pg_log to pg_clog (Tom) +Enable SIGTERM, SIGQUIT to kill backends (Jan) +Removed compile-time limit on number of backends (Tom) +Better cleanup for semaphore resource failure (Tatsuo, Tom) +Allow safe transaction ID wraparound (Tom) +Removed OID's from some system tables (Tom) +Removed "triggered data change violation" error check (Tom) +SPI portal creation of prepared/saved plans (Jan) +Allow SPI column functions to work for system columns (Tom) +Long value compression improvement (Tom) +Statistics collector for table, index access (Jan) +Truncate extra-long sequence names to a reasonable value (Tom) +Measure transaction times in milliseconds (Thomas) +Fix TID sequential scans (Hiroshi) +Superuser ID now fixed at 1 (Peter E) +New pg_ctl "reload" option (Tom) + + + + + Performance + +Optimizer improvements (Tom) +New histogram column statistics for optimizer (Tom) +Reuse write-ahead log files rather than discarding them (Tom) +Cache improvements (Tom) +IS NULL, IS NOT NULL optimizer improvement (Tom) +Improve lock manager to reduce lock contention (Tom) +Keep relcache entries for index access support functions (Tom) +Allow better selectivity with NaN and infinities in NUMERIC (Tom) +R-tree performance improvements (Kenneth Been) +B-tree splits more efficient (Tom) + + + + + Privileges + +Change UPDATE, DELETE permissions to be distinct (Peter E) +New REFERENCES, TRIGGER privileges (Peter E) +Allow GRANT/REVOKE to/from more than one user at a time (Peter E) +New has_table_privilege() function (Joe Conway) +Allow non-superuser to vacuum database (Tom) +New SET SESSION AUTHORIZATION command (Peter E) +Fix bug in privilege modifications on newly created tables (Tom) +Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom) + + + + + Client Authentication + +Fork postmaster before doing authentication to prevent hangs (Peter E) +Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce) +Add a password authentication method that uses MD5 encryption (Bruce) +Allow encryption of stored passwords using MD5 (Bruce) +PAM authentication (Dominic J. Eidson) +Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce) + + + + + Server Configuration + +Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce) +New parameter to set default transaction isolation level (Peter E) +New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E) +New parameter to control memory usage by VACUUM (Tom) +New parameter to set client authentication timeout (Tom) +New parameter to set maximum number of open files (Tom) + + + + + Queries + +Statements added by INSERT rules now execute after the INSERT (Jan) +Prevent unadorned relation names in target list (Bruce) +NULLs now sort after all normal values in ORDER BY (Tom) +New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom) +New SHARE UPDATE EXCLUSIVE lock mode (Tom) +New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout) +Fix problem with LIMIT and subqueries (Tom) +Fix for LIMIT, DISTINCT ON pushed into subqueryies (Tom) +Fix nested EXCEPT/INTERSECT (Tom) + + + + + Schema Manipulation + +Fix SERIAL in temporary tables (Bruce) +Allow temporary sequences (Bruce) +Sequences now use int8 internally (Tom) +New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom) +Make OIDs optional using WITHOUT OIDS (Tom) +Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor) +Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne) +New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry) +Add ALTER TABLE / ADD UNIQUE (Christopher Kings-Lynne) +Allow column renaming in views +Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner) +Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo) +ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner) +DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom) +Add automatic return type data casting for SQL functions (Tom) +Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom) +Enable partial indexes (Martijn van Oosterhout) + + + + + Utility Commands + +Add RESET ALL, SHOW ALL (Marko Kreen) +CREATE/ALTER USER/GROUP now allow options in any order (Vince) +Add LOCK A, B, C functionality (Neil Padgett) +New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce) +New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom) +Disable COPY TO/FROM on views (Bruce) +COPY DELIMITERS string must be exactly one character (Tom) +VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout) + + + + + Data Types and Functions + +SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom) +Add convert(), convert2() (Tatsuo) +New function bit_length() (Peter E) +Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo) +CHAR(), VARCHAR() now reject strings that are too long (Peter E) +BIT VARYING now rejects bit strings that are too long (Peter E) +BIT now rejects bit strings that do not match declared size (Peter E) +INET, CIDR text conversion functions (Alex Pilosov) +INET, CIDR operators << and <<= indexable (Alex Pilosov) +Bytea \### now requires valid three digit octal number +Bytea comparison improvements, now supports =, <>, >, >=, <, and <= +Bytea now supports B-tree indexes +Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE +Bytea now supports concatenation +New bytea functions: position, substring, trim, btrim, and length +New encode() function mode, "escaped", converts minimally escaped bytea to/from text +Add pg_database_encoding_max_length() (Tatsuo) +Add pg_client_encoding() function (Tatsuo) +now() returns time with millisecond precision (Thomas) +New TIMESTAMP WITHOUT TIMEZONE data type (Thomas) +Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas) +New xid/int comparison functions (Hiroshi) +Add precision to TIME, TIMESTAMP, and INVERVAL data types (Thomas) +Modify type coersion logic to attempt binary-compatible functions first (Tom) +New encode() function installed by default (Marko Kreen) +Improved to_*() conversion functions (Karel Zak) +Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo) +New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen) +Correct description of translate() function (Bruce) +Add INTERVAL argument for SET TIME ZONE (Thomas) +Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas) +Optimize length functions when using single-byte encodings (Tatsuo) +Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom) +octet_length(text) now returns non-compressed length (Tatsuo, Bruce) +Handle "July" full name in date/time literals (Greg Sabino Mullane) + + + + + Internationalization + +Native language support in psql, pg_dump, libpq, and server (Peter E) +Message translations in Chinese (simplified, traditional), Czech, French, German, Hungarian, Russian, Swedish (Peter E, Serguei A. Mokhov, Karel Zak, Weiping He, Zhenbang Wei, Kovacs Zoltan) +Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo) +Add LATIN5,6,7,8,9,10 support (Tatsuo) +Add ISO 8859-5,6,7,8 support (Tatsuo) +Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo) +Make mic2ascii() non-ASCII aware (Tatsuo) +Reject invalid multibyte character sequences (Tatsuo) + + + + + PL/pgSQL + +Now uses portals for SELECT loops, allowing huge result sets (Jan) +CURSOR and REFCURSOR support (Jan) +Can now return open cursors (Jan) +Add ELSEIF (Klaus Reger) +Improve PL/pgSQL error reporting, including location of error (Tom) +Allow IS or FOR key words in cursor declaration, for compatibility (Bruce) +Fix for SELECT ... FOR UPDATE (Tom) +Fix for PERFORM returning multiple rows (Tom) +Make PL/PgSQL use the server's type coercion code (Tom) +Memory leak fix (Jan, Tom) +Make trailing semicolon optional (Tom) + + + + + PL/Perl + +New untrusted PL/Perl (Alex Pilosov) +PL/Perl is now built on some platforms even if libperl is not shared (Peter E) + + + + + PL/Tcl + +Now reports errorInfo (Vsevolod Lobko) +Add spi_lastoid function (bob@redivi.com) + + + + + PL/Python + +...is new (Andrew Bosma) + + + + + Psql + +\d displays indexes in unique, primary groupings (Christopher Kings-Lynne) +Allow trailing semicolons in backslash commands (Greg Sabino Mullane) +Read password from /dev/tty if possible +Force new password prompt when changing user and database (Tatsuo, Tom) +Format the correct number of columns for Unicode (Patrice) + + + + + Libpq + +New function PQescapeString() to escape quotes in command strings (Florian Weimer) +New function PQescapeBytea() escapes binary strings for use as SQL string literals + + + + + JDBC + +Return OID of INSERT (Ken K) +Handle more data types (Ken K) +Handle single quotes and newlines in strings (Ken K) +Handle NULL variables (Ken K) +Fix for time zone handling (Barry Lind) +Improved Druid support +Allow eight-bit characters with non-multibyte server (Barry Lind) +Support BIT, BINARY types (Ned Wolpert) +Reduce memory usage (Michael Stephens, Dave Cramer) +Update DatabaseMetaData (Peter E) +Add DatabaseMetaData.getCatalogs() (Peter E) +Encoding fixes (Anders Bengtsson) +Get/setCatalog methods (Jason Davies) +DatabaseMetaData.getColumns() now returns column defaults (Jason Davies) +DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen) +Some JDBC1 and JDBC2 merging (Anders Bengtsson) +Transaction performance improvements (Barry Lind) +Array fixes (Greg Zoller) +Serialize addition +Fix batch processing (Rene Pijlman) +ExecSQL method reorganization (Anders Bengtsson) +GetColumn() fixes (Jeroen van Vianen) +Fix isWriteable() function (Rene Pijlman) +Improved passage of JDBC2 conformance tests (Rene Pijlman) +Add bytea type capability (Barry Lind) +Add isNullable() (Rene Pijlman) +JDBC date/time test suite fixes (Liam Stewart) +Fix for SELECT 'id' AS xxx FROM table (Dave Cramer) +Fix DatabaseMetaData to show precision properly (Mark Lillywhite) +New getImported/getExported keys (Jason Davies) +MD5 password encryption support (Jeremy Wohl) +Fix to actually use type cache (Ned Wolpert) + + + + + ODBC + +Remove query size limit (Hiroshi) +Remove text field size limit (Hiroshi) +Fix for SQLPrimaryKeys in multibyte mode (Hiroshi) +Allow ODBC procedure calls (Hiroshi) +Improve boolean handing (Aidan Mountford) +Most configuration options on setable via DSN (Hiroshi) +Multibyte, performance fixes (Hiroshi) +Allow driver to be used with iODBC or unixODBC (Peter E) +MD5 password encryption support (Bruce) +Add more compatibility functions to odbc.sql (Peter E) + + + + + ECPG + +EXECUTE ... INTO implemented +multiple row descriptor support (e.g. CARDINALITY) +Fix for GRANT parameters (Lee Kindness) +Fix INITIALLY DEFERRED bug +Various bug fixes (Michael, Christof Petig) + + + + + Misc. Interfaces + +Python fix fetchone() (Gerhard Haring) +Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max) +Add Tcl COPY TO/FROM (ljb) +Prevent output of default index op class in pg_dump (Tom) +Fix libpgeasy memory leak (Bruce) + + + + + Build and Install + +Configure, dynamic loader, and shared library fixes (Peter E) +Fixes in QNX 4 port (Bernd Tegge) +Fixes in Cygwin and Win32 ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov) +Fix for Win32 socket communication failures (Magnus, Mikhail Terekhov) +Hurd compile fix (Oliver Elphick) +BeOS fixes (Cyril Velter) +Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo) +AIX fixes (Tatsuo, Andreas) +Fix parallel make (Peter E) +Install SQL language manual pages into OS-specific directories (Peter E) +Rename config.h to pg_config.h (Peter E) +Reorganize installation layout of header files (Peter E) + + + + + Source Code + +Remove SEP_CHAR (Bruce) +New GUC hooks (Tom) +Merge GUC and command line handling (Marko Kreen) +Remove EXTEND INDEX (Martijn van Oosterhout, Tom) +New pgjindent utility to indent java code (Bruce) +Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom) +pgindent fixes (Bruce, Tom) +Replace strcasecmp() with strcmp() where appropriate (Peter E) +Dynahash portability improvements (Tom) + + + + + Contrib + +New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev) +New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev) +Add contrib/dblink for remote database access (Joe Conway) +contrib/ora2pg Oracle conversion utility (Gilles Darold) +contrib/xml XML conversion utility (John Gray) +contrib/fulltextindex fixes (Christopher Kings-Lynne) +New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway) +Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov) + + + + @@ -74,17 +547,6 @@ TO BE FILLED IN. SEE /HISTORY. 2001-08-15 - - Migration to version 7.1.3 @@ -123,17 +585,6 @@ Cygwin build (Jason Tishler) 2001-05-11 - - This has one fix from 7.1.1. @@ -172,17 +623,6 @@ pg_dump cleanups 2001-05-05 - - This has a variety of fixes from 7.1. @@ -230,17 +670,6 @@ Python fixes (Darcy) 2001-04-13 - - This release focuses on removing limitations that have existed in the PostgreSQL code for many years. @@ -539,17 +968,6 @@ New FreeBSD tools ipc_check, start-scripts/freebsd 2000-11-11 - - This has a variety of fixes from 7.0.2. @@ -622,17 +1040,6 @@ Fix for crash of backend, on abort (Tom) 2000-06-05 - - This is a repackaging of 7.0.1 with added documentation. @@ -667,17 +1074,6 @@ Added documentation to tarball. 2000-06-01 - - This is a cleanup release for 7.0. @@ -733,16 +1129,6 @@ ecpg changes (Michael) 2000-05-08 - This release contains improvements in many areas, demonstrating the continued growth of PostgreSQL. @@ -1224,17 +1610,6 @@ New multibyte encodings 1999-10-13 - - 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. @@ -1271,17 +1646,6 @@ Fix dumping rules on inherited tables 1999-09-15 - - This is basically a cleanup release for 6.5.1. We have fixed a variety of problems reported by 6.5.1 users. @@ -1339,17 +1703,6 @@ Updated version of pgaccess 0.98 1999-07-15 - - This is basically a cleanup release for 6.5. We have fixed a variety of problems reported by 6.5 users. @@ -1405,17 +1758,6 @@ Add Win1250 (Czech) support (Pavel Behal) 1999-06-09 - - 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 easily adding @@ -1814,17 +2156,6 @@ New install commands for plpgsql(Jan) 1998-12-20 - - The 6.4.1 release was improperly packaged. This also has one additional bug fix. @@ -1860,17 +2191,6 @@ Fix for datetime constant problem on some platforms(Thomas) 1998-12-18 - - This is basically a cleanup release for 6.4. We have fixed a variety of problems reported by 6.4 users. @@ -1935,17 +2255,6 @@ Upgrade to PyGreSQL 2.2(D'Arcy) 1998-10-30 - - There are many new features and improvements in this release. Thanks to our developers and maintainers, nearly every aspect of the system @@ -2243,17 +2552,6 @@ new Makefile.shlib for shared library configuration(Tom) 1998-04-07 - - 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. @@ -2324,17 +2622,6 @@ ASSERT fixes(Bruce) 1998-03-23 - - Summary: @@ -2421,17 +2708,6 @@ Better identify tcl and tk libs and includes(Bruce) 1998-03-01 - - There are many new features and improvements in this release. Here is a brief, incomplete summary: @@ -2744,17 +3020,6 @@ Remove un-needed malloc() calls and replace with palloc()(Bruce) 1997-10-17 - - 6.2.1 is a bug-fix and usability release on 6.2. @@ -2837,17 +3102,6 @@ Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan) 1997-10-02 - - A dump/restore is required for those wishing to migrate data from previous releases of PostgreSQL. @@ -3001,18 +3255,6 @@ SPI and Trigger programming guides (Vadim & D'Arcy) 1997-07-22 - - - Migration from version 6.1 to version 6.1.1 @@ -3058,17 +3300,6 @@ pg_dumpall now returns proper status, portability fix(Bruce) 1997-06-08 - - The regression tests have been adapted and extensively modified for the 6.1 release of PostgreSQL. @@ -3240,17 +3471,6 @@ DG-UX, Ultrix, Irix, AIX portability fixes 1997-01-29 - - A dump/restore is required for those wishing to migrate data from previous releases of PostgreSQL. @@ -3389,27 +3609,13 @@ Unused/uninialized variables corrected Release 1.09 - - - Release date 1996-11-04 + 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 releases. @@ -3424,17 +3630,6 @@ releases. 1996-08-01 - - Migration from version 1.02 to version 1.02.1 @@ -3584,16 +3779,6 @@ Contributors (appologies to any missed) 1996-02-23 - Migration from version 1.0 to version 1.01 @@ -3786,17 +3971,6 @@ Bug fixes: 1995-09-05 - - Changes @@ -3854,17 +4028,6 @@ Bug fixes: 1995-07-21 - - Changes @@ -3987,17 +4150,6 @@ New documentation: 1995-05-25 - - Changes @@ -4049,22 +4201,12 @@ The following bugs have been fixed in postgres95-beta-0.02: 1995-05-01 - - Initial release. + Timing Results @@ -4162,6 +4304,7 @@ In general, however, 6.3 is substantially faster than previous releases (thanks, +]]>