diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 58c3356f3c..b1b33f7cdb 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,5 +1,5 @@ @@ -10,11 +10,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo Overview Major changes in this release: - - Performance + - IN/NOT IN subqueries are now much more efficient + IN/NOT IN subqueries are now much more efficient In previous releases, IN/NOT IN subqueries were joined to the @@ -24,9 +23,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo than EXISTS subqueries. - + - Improved GROUP BY processing by using hash buckets + Improved GROUP BY processing by using hash buckets In previous releases, GROUP BY totals were accumulated by @@ -37,18 +36,18 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo number of distinct GROUP BY values. - + - New multi-key hash join capability + New multi-key hash join capability In previous releases, hash joins could only occur on single-column joins. This release allows multi-column hash joins. - + - ANSI joins are now better optimized + ANSI joins are now better optimized Prior releases evaluated ANSI join syntax only in the order @@ -57,9 +56,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo all possible join orderings and chooses the most efficient. - + - Faster and more powerful regular expression code + Faster and more powerful regular expression code + The entire regular expression module has been replaced with a new @@ -68,9 +68,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo of regular expressions. - + - Function-inlining for simple SQL functions + Function-inlining for simple SQL functions Simple SQL functions can now be inlined by including their SQL @@ -79,13 +79,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo SQL functions to behave like macros. - - + - IPv6 - - Full support for IPv6 connections and IPv6 address -data types + Full support for IPv6 connections and IPv6 address +data types Prior releases allowed only IPv6 connections and IP data types only @@ -93,26 +90,20 @@ data types both of these areas. - - + - SSL - - Major improvements in SSL performance and -reliability + 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. - - + - Index Growth Prevention - - Allow free space map to efficiently reuse empty index -pages, and other free space management improvements. + Allow free space map to efficiently reuse empty index +pages, and other free space management improvements. In prior releases, index pages that were left empty because of @@ -122,38 +113,30 @@ pages, and other free space management improvements. rows. - - + - Standards Compliance +Implement information schema + -Implement information schema +Support for read-only transactions + -Support for read-only transactions - -Make cursors comply more closely with the SQL standard +Make cursors comply more closely with the SQL standard + - - - New Client/Server Communication -Protocol - - New protocol improves connection speed/reliability, + New protocol improves connection speed/reliability, and adds error codes, status information, a binary protocol, error reporting verbosity, and cleaner startup packets. - + - Holdable Cursors + Allow cursors to exist outside transactions, +also called holdable cursors + + - Allow cursors to exist outside transactions - - - - Threads - - libpq and ecpg are now fully thread-safe with ---enable-thread-safety + libpq and ecpg are now fully thread-safe with +--enable-thread-safety While prior libpq releases already supported threads, this release @@ -161,14 +144,12 @@ reporting verbosity, and cleaner startup packets. was used in the database connection routines. - - + - Contrib + New version of full text indexing in /contrib/tsearch2 + - New version of full text indexing (tsearch2) - - New autovacuum tool + New autovacuum tool in /contrib This new tool monitors the database statistics tables for @@ -176,19 +157,18 @@ reporting verbosity, and cleaner startup packets. needed. - + - Array handling has been improved and moved into the main -server + Array handling has been improved and moved into the main +server Many array limitations have been removed and they behave more like fully-supported data types. - - - + + Migration to version 7.4 @@ -198,7 +178,7 @@ 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. + in client applications and languages. Server-side autocommit was causing too many problems with @@ -207,29 +187,29 @@ required for those wishing to migrate data from any previous release. and added to individual client API's as appropriate. - + Error message wording has changed substantially in this release, and error codes have been added. ANSI inner joins may behave differently because they are now better optimized A number of server variables have been renamed for clarity, primarily those related to logging - MOVE/FETCH 0 now does nothing + MOVE/FETCH 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. - + MOVE/FETCH now returns the actual number of rows moved/fetched, or zero - if at the beginning/end of the cursor + if at the beginning/end of the cursor Prior releases would return the tuple count passed to the command, not the actual number of rows FETCHed or MOVEd. - + COPY now can process carriage-return and carriage-return/line-feed end-of-line terminated files. Literal carriage-returns and line-feeds are no @@ -238,7 +218,7 @@ required for those wishing to migrate data from any previous release. from CHAR(n) to VARCHAR(n) / TEXT FLOAT(p) now measures 'p' in bits, not digits - Ambiguous date values now must match the ordering specified by DateStyle + Ambiguous date values now must match the ordering specified by DateStyle In prior releases, a date of 10/20/03 was @@ -249,17 +229,17 @@ required for those wishing to migrate data from any previous release. current DateStyle. - + The oidrand(), oidsrand(), - and userfntest() functions have been removed. + and userfntest() functions have been removed. These functions were determined to be no longer useful. - + 'now' will no longer work as a column default; now() or - CURRENT_TIMESTAMP should be used instead + CURRENT_TIMESTAMP should be used instead In prior releases, there was special code so the string @@ -272,24 +252,24 @@ required for those wishing to migrate data from any previous release. situations. - + 'today' will no longer work as a column default; CURRENT_DATE - should be used instead + should be used instead Same description as above. - + Dollar sign ($) is no longer allowed in operator names - Dollar sign ($) can be a non-first character in identifiers + Dollar sign ($) can be a non-first character in identifiers This was done to improve compatibility with other database systems. - + Server Operation Changes @@ -305,31 +285,31 @@ required for those wishing to migrate data from any previous release. -SSL protocol security and performance improvements (Sean Chittenden) +SSL protocol security and performance improvements (Sean Chittenden) SSL key renegotiation was happening too frequently, causing poor SSL performance. Also, initial key handling was improved. - -Print lock information when a deadlock is detected (Tom) + +Print lock information when a deadlock is detected (Tom) This allows easier debugging of deadlock situations. - -Update /tmp socket mod. times regularly to avoid their removal (Tom) + +Update /tmp socket mod. times regularly to avoid their removal (Tom) This should help prevent /tmp directory cleaner administration scripts from removing server socket files. - + Enable PAM for MAC OS X (Aaron Hillegass) -Make btree indexes fully WAL-safe (Tom) +Make btree indexes fully WAL-safe (Tom) In prior releases, under certain rare cases, a server crash could @@ -337,9 +317,9 @@ required for those wishing to migrate data from any previous release. last few rare cases. - + Allow btree index compaction and empty page reuse (Tom) -Fix inconsistent index lookups during split of first root page (Tom) +Fix inconsistent index lookups during split of first root page (Tom) In prior releases, when a single-page index split into two page, @@ -348,9 +328,9 @@ required for those wishing to migrate data from any previous release. multi-cpu machines. This release fixes that rare failure case. - + Improve free space map allocation logic (Tom) -Preserve free space information between postmaster restarts (Tom) +Preserve free space information between postmaster restarts (Tom) In prior releases, the free space map was not saved when the @@ -359,7 +339,7 @@ required for those wishing to migrate data from any previous release. when the server is restarted. - + Set proper schema permissions in initdb (Peter) Add start time to pg_stat_activity (Neil) New code to detect corrupt disk pages; erase with zero_damaged_pages (Tom) @@ -380,7 +360,7 @@ required for those wishing to migrate data from any previous release. Allow multi-key hash joins (Tom) Improve constant folding (Tom) Add ability to inline simple SQL functions (Tom) -Reduce memory usage for queries using complex functions (Tom) +Reduce memory usage for queries using complex functions (Tom) In prior releases, functions returning allocated memory would @@ -389,19 +369,19 @@ required for those wishing to migrate data from any previous release. completes, reducing the total memory used by functions. - -Improve GEQO optimizer performance (Tom) + +Improve GEQO optimizer performance (Tom) There were several inefficiencies in the way the GEQO optimizer managed potential query paths. This release fixes this. - + Allow IN/NOT IN to be handled via hash tables (Tom) Improve NOT IN (subquery) performance (Tom) Allow most IN subqueries to be processed as joins (Tom) -Allow the postmaster to preload libraries using preload_libraries (Joe) +Allow the postmaster to preload libraries using preload_libraries (Joe) For shared libraries that require a long time to load, this option @@ -409,7 +389,7 @@ required for those wishing to migrate data from any previous release. inherited by all database sessions. - + Improve optimizer cost computations, particularly for subqueries (Tom) Avoid sort when subquery ORDER BY matches upper query (Tom) Assume WHERE a.x = b.y and b.y = 42 also means a.x = 42 (Tom) @@ -419,18 +399,18 @@ required for those wishing to migrate data from any previous release. Add from_collapse_limit to control conversion of subqueries to joins (Tom) Use faster and more powerful regular expression code from TCL (Henry Spencer, Tom) Use bit-mapped relation sets in the optimizer (Tom) -Improve backend startup time (Tom) +Improve backend startup time (Tom) The new network protocol requires fewer network packets to start a database session. - + Improve trigger/constraint performance (Stephan) Improve speed of col IN (const, const, const, ...) (Tom) Fix hash indexes which were broken in rare cases (Tom) -Improve hash index concurrency and speed (Tom) +Improve hash index concurrency and speed (Tom) Prior releases suffered from poor hash index performance, @@ -439,40 +419,40 @@ required for those wishing to migrate data from any previous release. btree and hash index performance. - -Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul) + +Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul) Certain CPU's perform faster data copies when addresses are 32-bit aligned. - -The NUMERIC datatype has been reimplemented for better performance (Tom) + +The NUMERIC datatype has been reimplemented for better performance (Tom) NUMERIC used to be stored in base-100. The new code uses base-10000, for significantly better performance. - + Server Configuration Changes -Rename server parameter server_min_messages to log_min_messages (Bruce) +Rename server parameter server_min_messages to log_min_messages (Bruce)ara> This was done so most parameters that control the server logs being with log_. - + Rename show_*_stats to log_*_stats (Bruce) Rename show_source_port to log_source_port (Bruce) Rename hostname_lookup to log_hostname (Bruce) -Add checkpoint_warning to warn of excessive checkpointing (Bruce) +Add checkpoint_warning to warn of excessive checkpointing (Bruce) In prior releases, it was difficult to determine if checkpoint was @@ -480,60 +460,60 @@ required for those wishing to migrate data from any previous release. logs when excessive checkpointing happens. - + New read-only server parameters for localization (Tom) Change debug server log messages to output as DEBUG rather than LOG (Bruce) -Prevent server log variables from being turned off by non-super users (Bruce) +Prevent server log variables from being turned off by non-super users (Bruce) This is a security feature so non-super-users can't disable logging that was enabled by the administrator. - -log_min_messages/client_min_messages now controls debug_* output (Bruce) + +log_min_messages/client_min_messages now controls debug_* output (Bruce) This centralizes client debug information so all debug output can be sent to either the client or server logs. - -Add OS X Rendezvous server support (Chris Campbell) + +Add OS X Rendezvous server support (Chris Campbell) This allows OS X machines to query the network for available PostgreSQL servers. - + Add ability to print only slow statements using log_min_duration_statement - (Christopher) + (Christopher) This is an often requested debugging feature that allows administrators to - see only slow queries in their server logs. + see only slow queries in their server logs. - -Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan) + +Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan) This allows administrators to merge the host IP address and netmask fields into a single CIDR field in pg_hba.conf. - + New is_superuser read-only variable (Tom) -New server-side parameter log_error_verbosity to control error detail (Tom) +New server-side parameter log_error_verbosity to control error detail (Tom) This works with the new error reporting feature to supply additional error information like hints, file names and line numbers. - -postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter) + +postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter) This option is useful for administration tools that need to know the @@ -541,8 +521,8 @@ required for those wishing to migrate data from any previous release. and descriptions. - -Make default shared_buffers 1000 and max_connections 100, if possible (Tom) + +Make default shared_buffers 1000 and max_connections 100, if possible (Tom) Prior versions defaulted to 64 shared buffers so PostgreSQL would @@ -552,7 +532,7 @@ required for those wishing to migrate data from any previous release. and size shared_buffers accordingly. - + Add new columns in pg_settings: context, type, source, min_val, max_val (Joe) New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen) @@ -562,7 +542,7 @@ required for those wishing to migrate data from any previous release. capability. - + Remove geqo_random_seed server parameter (Tom)