From 4759f231ab741165e35f39500e699a851ed7a764 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 26 Apr 2009 20:08:30 +0000 Subject: [PATCH] Some more work on the 8.4 release notes. Document a few changes that Bruce apparently found uninteresting, and do minor wordsmithing on a number of the existing entries. --- doc/src/sgml/release.sgml | 514 ++++++++++++++++++++++++-------------- 1 file changed, 326 insertions(+), 188 deletions(-) diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 6ef69604fd..0ae0c02a1d 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -277,7 +277,7 @@ do it for earlier branch release files. - Disable appending of the epoch date/time when no % + Remove automatic appending of the epoch timestamp when no % escapes are present in log_filename (Robert Haas) @@ -301,9 +301,9 @@ do it for earlier branch release files. - This breaks compatibility with pre-PostgreSQL 7.2 - clients, as there is no longer any non-plaintext password method - that they can use. + This effectively obsoletes pre-PostgreSQL 7.2 client + libraries, as there is no longer any non-plaintext password method that + they can use. @@ -491,6 +491,18 @@ do it for earlier branch release files. + + + Adopt a faster algorithm for hash functions (Kenneth Marshall, + based on work of Bob Jenkins) + + + + Many of the built-in hash functions now deliver different results on + little-endian and big-endian platforms. + + + @@ -615,6 +627,18 @@ do it for earlier branch release files. + + + Improve optimization of sub-selects beneath outer joins (Tom) + + + + Formerly, a sub-select or view could not be optimized very well if it + appeared within the nullable side of an outer join and contained + non-strict expressions (for instance, constants) in its result list. + + + Improve the performance of text_position() and @@ -623,7 +647,7 @@ do it for earlier branch release files. - This is particularly useful for long search patterns. + This is particularly helpful for long search patterns. @@ -707,6 +731,12 @@ do it for earlier branch release files. + + + Improve performance of shared cache invalidation (Tom) + + + @@ -722,7 +752,7 @@ do it for earlier branch release files. Convert many postgresql.conf settings to enumerated - values so pg_settings can display valid + values so that pg_settings can display the valid values (Magnus) @@ -950,8 +980,8 @@ do it for earlier branch release files. Add pg_conf_load_time() to report when - the Postgres configuration files were last loaded (George - Gensure) + the PostgreSQL configuration files were last loaded + (George Gensure) @@ -1013,23 +1043,22 @@ do it for earlier branch release files. - New pg_stat_get_activity(pid) function to return + Add pg_stat_get_activity(pid) function to return information about a specific process id (Magnus) - Move the server statistics file into the subdirectory - pg_stat_tmp and allow its location to be specified + Allow the location of the server's statistics file to be specified via stats_temp_directory (Magnus) This allows the statistics file to be placed in a RAM-resident directory to reduce I/O requirements. - On startup/shutdown, the file is copied to the top-level - $PGDATA directory so it is preserved across restarts. + On startup/shutdown, the file is copied to its traditional location + ($PGDATA/global/) so it is preserved across restarts. @@ -1058,7 +1087,7 @@ do it for earlier branch release files. - New TABLE command (Peter) + Add TABLE command (Peter) @@ -1147,7 +1176,7 @@ do it for earlier branch release files. - Add support for Unicode string and identifier specifications + Add support for Unicode string literal and identifier specifications using code points, e.g. U&'d\0061t\+000061' (Peter) @@ -1178,8 +1207,8 @@ do it for earlier branch release files. - Add TRUNCATE TABLE ... - RESTART/CONTINUE IDENTITY clauses + Add RESTART/CONTINUE IDENTITY options + for TRUNCATE TABLE (Zoltan Boszormenyi) @@ -1287,15 +1316,29 @@ do it for earlier branch release files. - Improve reporting of dependencies during DROP - commands (Alex Hunsaker) + Refactor multi-object DROP operations to reduce the + need for CASCADE (Alex Hunsaker) + + + + For example, if table B has a dependency on table + A, the command DROP TABLE A, B no longer + requires the CASCADE option. - Refactor multi-object DROP operations so conflicting - dependencies do not generate an error (Alex Hunsaker) + Fix various problems with concurrent DROP commands + by ensuring that locks are taken before we begin to drop dependencies + of an object (Tom) + + + + + + Improve reporting of dependencies during DROP + commands (Tom) @@ -1330,6 +1373,18 @@ do it for earlier branch release files. + + + Allow specification of the type category and preferred + status for user-defined base types (Tom) + + + + This allows more control over the coercion behavior of user-defined + types. + + + Allow CREATE OR REPLACE VIEW to add columns to the @@ -1475,7 +1530,7 @@ do it for earlier branch release files. - Add a verbose option to the CLUSTER command and + Add a VERBOSE option to the CLUSTER command and clusterdb (Jim Cox) @@ -1496,7 +1551,7 @@ do it for earlier branch release files. Dramatically improve the speed of building and accessing hash - indexes (Tom Raney, Shreya Bhargava, Kenneth Marshall) + indexes (Tom Raney, Shreya Bhargava) @@ -1507,8 +1562,8 @@ do it for earlier branch release files. - Make hash indexes store only the hashed value, not the full - indexed columns (Xiao Meng) + Make hash indexes store only the hash code, not the full value of + the indexed column (Xiao Meng) @@ -1519,7 +1574,7 @@ do it for earlier branch release files. - Implement fast update for GIN indexes (Teodor, Oleg) + Implement fast update option for GIN indexes (Teodor, Oleg) @@ -1546,7 +1601,7 @@ do it for earlier branch release files. Remove the requirement to use @@@ when doing - GIN weighted lookups on full text indexes (Tom) + GIN weighted lookups on full text indexes (Tom, Teodor) @@ -1562,13 +1617,6 @@ do it for earlier branch release files. - - - Add partial match support for GIN indexes (Teodor - Sigaev, Oleg Bartunov) - - - Allow prefix matching in full text searches (Teodor Sigaev, @@ -1627,7 +1675,7 @@ do it for earlier branch release files. Add vacuum_freeze_table_age parameter to control when VACUUM should ignore the visibility map and - do a full table scan to set frozen xids (Heikki) + do a full table scan to freeze tuples (Heikki) @@ -1637,8 +1685,8 @@ do it for earlier branch release files. - This can improve space reuse by VACUUM in the presence of - long-running transactions. + This improves VACUUM's ability to reclaim space + in the presence of long-running transactions. @@ -1737,40 +1785,53 @@ do it for earlier branch release files. - Include SGT (Singapore time) as a valid time zone - abbreviation (Tom) + Include SGT (Singapore time) in the default list of + known time zone abbreviations (Tom) - Support the IS0 8601 interval syntax (Ron - Mayer, Kevin Grittner) + Support infinity and -infinity as + values of type date (Tom) + + - For example, INTERVAL 'P1Y2M3DT4H5M6.7S' is now - supported. + Make parsing of interval literals more standard-compliant (Tom) + + + + For example, INTERVAL '1' YEAR now does what it's + supposed to. - Allow interval precision to be specified after the - last field, for SQL-standards compliance (Tom) + Allow interval fractional-seconds precision to be specified + after the second keyword, for SQL standard + compliance (Tom) Formerly the precision had to be specified after the keyword - interval (this syntax is still supported). Data type - definitions will now be output using the new format. + interval. (For backwards compatibility, this syntax is still + supported, though deprecated.) Data type definitions will now be + output using the standard format. - Support infinity and -infinity as - values of type date (Tom) + Support the IS0 8601 interval syntax (Ron + Mayer, Kevin Grittner) + + + + For example, INTERVAL 'P1Y2M3DT4H5M6.7S' is now + supported. @@ -1844,7 +1905,7 @@ do it for earlier branch release files. - Add new aggregate function array_agg(), which + Add aggregate function array_agg(), which returns all aggregated values as a single array (Robert Haas, Jeff Davis, Peter) @@ -1870,15 +1931,8 @@ do it for earlier branch release files. - Add generate_subscripts() to generate array - subscripts (Pavel Stehule) - - - - - - Generate proper error if a SERIAL array is specified - (Tom) + Add generate_subscripts() to simplify generating + the range of an array's subscripts (Pavel Stehule) @@ -1907,10 +1961,9 @@ do it for earlier branch release files. - Improve toast heuristics for rows including a mix of large and - small toastable fields, so that we prefer to push large values - out of line and don't compress small values unnecessarily - (Greg, Tom) + Improve TOAST heuristics for rows that have a mix of large + and small toastable fields, so that we prefer to push large values out + of line and don't compress small values unnecessarily (Greg, Tom) @@ -1950,14 +2003,14 @@ do it for earlier branch release files. Improve full text search headline() function to - allow several fragments (Sushant Sinha) + allow extracting several fragments of text (Sushant Sinha) Add suppress_redundant_updates_trigger() trigger - function to prevent non-data-changing updates (Andrew) + function to avoid overhead for non-data-changing updates (Andrew) @@ -1970,7 +2023,7 @@ do it for earlier branch release files. - Add TIMESTAMP and TIMESTAMPTZ versions of + Add timestamp and timestamptz versions of generate_series() (Hitoshi Harada) @@ -2020,6 +2073,18 @@ do it for earlier branch release files. + + + Add source file name and line number columns to + pg_settings output for variables set in a configuration + file (Magnus, Alvaro) + + + + For security reasons, these columns are only visible to superusers. + + + Add support for CURRENT_CATALOG, @@ -2028,7 +2093,7 @@ do it for earlier branch release files. - These are SQL-standard capabilities. + These provide SQL-standard syntax for existing features. @@ -2042,7 +2107,7 @@ do it for earlier branch release files. Make version() return information about whether - the server is a 32 or 64-bit binary (Bruce) + the server is a 32- or 64-bit binary (Bruce) @@ -2072,7 +2137,15 @@ do it for earlier branch release files. Make pg_*_is_visible() and has_*_privilege() functions return NULL - for invalid oids, rather than generate an error (Tom) + for invalid OIDs, rather than reporting an error (Tom) + + + + + + Extend has_*_privilege() functions to allow inquiring + about the OR of multiple privileges in one call (Stephen + Frost, Tom) @@ -2106,8 +2179,7 @@ do it for earlier branch release files. - Support DEFAULT values for function arguments (Pavel - Stehule) + Support default values for function arguments (Pavel Stehule) @@ -2136,7 +2208,8 @@ do it for earlier branch release files. - Support EXECUTE USING (Pavel Stehule) + Support EXECUTE USING for easier insertion of data + values into a dynamic query string (Pavel Stehule) @@ -2166,7 +2239,7 @@ do it for earlier branch release files. - Support SQLSTATE error codes + Support specification of the SQLSTATE error code @@ -2186,7 +2259,7 @@ do it for earlier branch release files. - Allow specification of numeric SQLSTATE codes + Allow specification of SQLSTATE codes in EXCEPTION lists (Pavel Stehule) @@ -2203,8 +2276,9 @@ do it for earlier branch release files. - Add FOUND and GET DIAGNOSTICS support - for the RETURN QUERY statement (Pavel Stehule) + Make RETURN QUERY set the special FOUND and + GET DIAGNOSTICS ROW_COUNT variables + (Pavel Stehule) @@ -2216,12 +2290,6 @@ do it for earlier branch release files. - - - Add message translation support (Alvaro) - - - Avoid memory leakage when the same function is called at varying @@ -2250,15 +2318,16 @@ do it for earlier branch release files. Add -w/--no-password option that - suppresses password prompts to all utilities that have a + prevents password prompting in all utilities that have a -W/--password option (Peter) - Remove -q (quiet) option of create* and drop* - utility commands (Peter) + Remove @@ -2297,25 +2366,31 @@ do it for earlier branch release files. - Use the pager for wide output (Bruce) + Allow all supported spellings of boolean values in \pset, + rather than just on and off (Bruce) - - - Require a space between a backslash command and the first - argument (Bernd Helmle) + Formerly, any string other than off was silently taken + to mean true. psql will now complain + about unrecognized spellings (but still take them as true). + + - This removes a historical source of ambiguity. + Use the pager for wide output (Bruce) - Display access control rights on multiple lines (Brendan - Jurd, Andreas Scherbaum) + Require a space between a one-letter backslash command and its first + argument (Bernd Helmle) + + + + This removes a historical source of ambiguity. @@ -2328,21 +2403,21 @@ do it for earlier branch release files. - Allow all supported spellings of boolean values in \pset, - rather than just on and off (Bruce) + Add optional on/off argument for + \timing (David Fetter) - Add optional on/off arguments for - \timing (David Fetter) + Display access control rights on multiple lines (Brendan + Jurd, Andreas Scherbaum) - Make \l show access privileges (Andrew Gilligan) + Make \l show database access privileges (Andrew Gilligan) @@ -2366,68 +2441,72 @@ do it for earlier branch release files. <application>psql</> \d* commands + - Make \d show cases where the current table is referenced - by a foreign-key constraint (Kenneth D'Souza) + Make \d* commands that do not have a pattern argument + show system objects only if the S modifier is specified + (Greg Sabino Mullane, Bruce) - - - Make \d on a sequence show its column values - (Euler Taveira de Oliveira) + The former behavior was inconsistent across different variants + of \d, and in most cases it provided no easy way to see + just user objects. - Add column storage type and other relation options to the - \d+ display (Gregory Stark, Euler Taveira de - Oliveira) + Improve \d* commands to work with older + PostgreSQL server versions (back to 7.4), + not only the current server version + (Guillaume Lelarge) - Show relation size in \dt+ output (Dickson S. - Guedes) + Make \d show foreign-key constraints that reference + the selected table (Kenneth D'Souza) - Make \d* commands that do not have a pattern argument - show system objects only if the S modifier is specified - (Greg Sabino Mullane, Bruce) + Make \d on a sequence show its column values + (Euler Taveira de Oliveira) + + - The former behavior was inconsistent across different variants - of \d, and in most cases it provided no easy way to see - just user objects. + Add column storage type and other relation options to the + \d+ display (Gregory Stark, Euler Taveira de + Oliveira) - Show the values of enum types in \dT+ (David - Fetter) + Show relation size in \dt+ output (Dickson S. + Guedes) - Allow \dC to accept wildcard patterns (Tom) + Show the possible values of enum types in \dT+ + (David Fetter) - Allow \d* commands to work with versions of - PostgreSQL back to 7.4 (Guillaume Lelarge) + Allow \dC to accept a wildcard pattern, which matches + either datatype involved in the cast (Tom) @@ -2472,7 +2551,7 @@ do it for earlier branch release files. These options were too frequently confused with the option to select a database name in other PostgreSQL client applications. The functionality is still available, - but you must spell out the long option name + but you must now spell out the long option name @@ -2543,13 +2622,6 @@ do it for earlier branch release files. - - - Add new pg_dump option - - @@ -2572,12 +2644,13 @@ do it for earlier branch release files. - Add events support (Andrew Chernow, Merlin Moncure) + Add events support (Andrew Chernow, Merlin Moncure) - This adds the ability to register callbacks to handle private - data for connection and result creation and destruction. + This adds the ability to register callbacks to manage private + data associated with PGconn and PGresult + objects. @@ -2590,12 +2663,12 @@ do it for earlier branch release files. - Make PQexecParams() return + Make PQexecParams() and related functions return PGRES_EMPTY_QUERY for an empty query (Tom) - It previously returned PGRES_COMMAND_OK. + They previously returned PGRES_COMMAND_OK. @@ -2651,8 +2724,9 @@ do it for earlier branch release files. - Properly unregister OpenSSL callbacks when - libpq is finished with all connections (Bruce, Magnus, Russell Smith) + Make libpq unregister its OpenSSL + callbacks when no database connections remain open + (Bruce, Magnus, Russell Smith) @@ -2704,7 +2778,7 @@ do it for earlier branch release files. - Add new SPI_OK_REWRITTEN return code to + Add new SPI_OK_REWRITTEN return code for SPI_execute() (Heikki) @@ -2714,6 +2788,18 @@ do it for earlier branch release files. + + + Remove unnecessary inclusions from executor/spi.h (Tom) + + + + SPI-using modules might need to add some #include + lines if they were depending on spi.h to include + things for them. + + + @@ -2757,18 +2843,23 @@ do it for earlier branch release files. Add configure option --disable-float4-byval to use the old behavior. + External C functions that use old-style (version 0) call convention + and pass or return float4 values will be broken by this + change, so you may need the configure option if you + have such functions and don't want to update them. - Pass float8 and int8 by value in the server - where possible (Zoltan Boszormenyi) + Pass float8, int8, and related datatypes + by value inside the server on 64-bit platforms (Zoltan Boszormenyi) Add configure option --disable-float8-byval to use the old behavior. + As above, this change might break old-style external C functions. @@ -2823,6 +2914,13 @@ do it for earlier branch release files. + + + Add support for code coverage testing with gcov + (Michelle Caisse) + + + Allow out-of-tree builds on Mingw and @@ -2856,6 +2954,20 @@ do it for earlier branch release files. + + + Deprecate use of platform's time_t data type (Tom) + + + + Some platforms have migrated to 64-bit time_t, some have + not, and Windows can't make up its mind what it's doing. Define + pg_time_t to have the same meaning as time_t, + but always be 64 bits (unless the platform has no 64-bit integer type), + and use that type in all module APIs and on-disk data formats. + + + Fix bug in handling of the time zone database when cross-compiling @@ -2879,53 +2991,57 @@ do it for earlier branch release files. - Add DTrace probes (Robert Lor) + Add message translation support to the PL languages (Alvaro, Peter) - Add DTrace support on Mac OS X - Leopard (Robert Lor) + Add more DTrace probes (Robert Lor) - Add new cstring to text conversion functions - (Brendan Jurd, Tom) + Enable DTrace support on Mac OS X + Leopard and other non-Solaris platforms (Robert Lor) - Add a relistemp column to pg_class - to ease identification of temporary tables (Tom) + Simplify and standardize conversions between C strings and + text datums, by providing common functions for the purpose + (Brendan Jurd, Tom) - Improve logic for shared cache invalidation (Tom) + Clean up the include/catalog/ header files so that + frontend programs can include them without including + postgres.h + (Zdenek Kotala) - Make name char-aligned (Tom) + Make name char-aligned, and suppress zero-padding of + name entries in indexes (Tom) - Add function hook to let plug-ins monitor the executor (Itagaki + Add a hook to let plug-ins monitor the executor (Itagaki Takahiro) - Add a hook to allow the planner statistics lookup behavior to + Add a hook to allow the planner's statistics lookup behavior to be overridden (Simon Riggs) @@ -2939,20 +3055,42 @@ do it for earlier branch release files. - Replace pg_class column reltriggers - with boolean relhastriggers (Simon) + Replace the index access method amgetmulti entry point + with amgetbitmap, and extend the API for + amgettuple to support run-time determination of + operator lossiness (Heikki, Tom, Teodor) - Also remove unused pg_class columns relukeys, - relfkeys, and relrefs. + The API for GIN and GiST opclass consistent functions + has been extended as well. - Move SQL-command manual pages from the manl - (man-el) section to man7 (Peter) + Add support for partial-match searches in GIN indexes + (Teodor Sigaev, Oleg Bartunov) + + + + + + Replace pg_class column reltriggers + with boolean relhastriggers (Simon) + + + + Also remove unused pg_class columns + relukeys, relfkeys, and + relrefs. + + + + + + Add a relistemp column to pg_class + to ease identification of temporary tables (Tom) @@ -3001,57 +3139,72 @@ do it for earlier branch release files. Contrib + - Add duration and query mode options to contrib/pgbench - (Itagaki Takahiro) + Add contrib/auto_explain to automatically run + EXPLAIN on queries exceeding a specified duration + (Itagaki Takahiro, Tom) - Fix contrib/pgstattuple to handle tables and - indexes with over 2 billion pages (Tatsuhito Kasahara) + Add contrib/btree_gin to allow GIN indexes to + handle more datatypes (Oleg, Teodor) - Add Levenshtein string-distance function to - contrib/fuzzystrmatch that allows the user to - specify the cost of insertion, deletion, and substitution - (Volkan Yazici) + Add contrib/citext to provide a case-insensitive, + multibyte-aware text data type (David Wheeler) - Remove dblink_current_query() from - contrib/dblink; one should now use - current_query() (Tomas Doran) + Add contrib/pg_stat_statements for server-wide + tracking of statement execution statistics (Itagaki Takahiro) - Make contrib/ltree support multibyte encodings - (laser) + Add duration and query mode options to contrib/pgbench + (Itagaki Takahiro) - Add contrib/btree_gin to allow GIN indexes to - handle more datatypes (Oleg, Teodor) + Fix contrib/pgstattuple to handle tables and + indexes with over 2 billion pages (Tatsuhito Kasahara) - Add contrib/citext to provide a case-insensitive, - multibyte-aware text data type (David Wheeler) + In contrib/fuzzystrmatch, add a version of the + Levenshtein string-distance function that allows the user to + specify the costs of insertion, deletion, and substitution + (Volkan Yazici) + + + + + + Make contrib/ltree support multibyte encodings + (laser) + + + + + + Improve contrib/dblink's reporting of errors from + the remote server (Joe Conway) @@ -3063,7 +3216,7 @@ do it for earlier branch release files. - This is a security enhancement. + This is a minor security enhancement. @@ -3111,21 +3264,6 @@ do it for earlier branch release files. - - - Add contrib/auto_explain to automatically run - EXPLAIN on queries exceeding a specified duration - (Itagaki Takahiro, Tom) - - - - - - Add contrib/pg_stat_statements for server-wide - tracking of statement execution statistics (Itagaki Takahiro) - - - -- 2.39.5