From bb1051eb2d5eef060b64788cbec8459c46427fca Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 27 Apr 2011 16:51:46 -0400 Subject: [PATCH] Make a quick copy-editing pass over the 9.1 release notes. Also remove the material about this being an alpha release. The notes still need a lot of work, but they're more or less presentable as a beta version now. --- doc/src/sgml/config.sgml | 8 +- doc/src/sgml/release-9.1.sgml | 297 +++++++++++++++------------------- 2 files changed, 136 insertions(+), 169 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 9266558f97..e9de964a65 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -2237,7 +2237,7 @@ SET ENABLE_SEQSCAN TO OFF; Specifies whether or not a hot standby will send feedback to the primary about queries currently executing on the standby. This parameter can - be used to eliminate query cancels caused by cleanup records, but + be used to eliminate query cancels caused by cleanup records, but can cause database bloat on the primary for some workloads. The default value is off. Feedback messages will not be sent more frequently than once per wal_receiver_status_interval. @@ -5461,9 +5461,9 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' Applications that wish to use backslash as escape should be modified to use escape string syntax (E'...'), - because the default behavior of ordinary strings will change - in a future release for SQL compatibility. This variable can - be enabled to help detect applications that will break. + because the default behavior of ordinary strings is now to treat + backslash as an ordinary character, per SQL standard. This variable + can be enabled to help locate code that needs to be changed. diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 7c2eaf0d32..d70c806fda 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,63 +1,33 @@ + - Release 9.1alpha5 + Release 9.1 - - Overview - - PostgreSQL alpha releases are snapshots of development code. - They are intended to preview and test upcoming features and to - provide the possibility for early feedback. They should not be - used in production installations or active development projects. - While the PostgreSQL code is continuously subject to a number - of automated and manual tests, alpha releases might have serious - bugs. Also features may be changed incompatibly or removed at - any time during the development cycle. - - - The development cycle of a PostgreSQL major release alternates - between periods of development and periods of integration work, - called commit fests, normally one month each. Alpha releases are - planned to be produced at the end of every commit fest, thus every - two months. Since the first commit fest starts within a month from - the beginning of development altogether, early alpha releases are - not indicative of the likely feature set of the final release. - - - - Testing - - The primary reason we release alphas is to get users to test new - features as early as possible. If you are interested in helping - with organized testing, please see - the - testing information page. - - - - @@ -92,7 +62,7 @@ standard; escape_string_warning has produced warnings about this usage for years. E'' - strings the proper way to embed escapes in strings and is + strings are the proper way to embed escapes in strings and are unaffected by this change. @@ -113,9 +83,11 @@ - For example, disallow composite_name.text and text(composite_name). - CAST and :: are still available for - casting. + For example, disallow + composite_value.text and + text(composite_value). + The CAST and :: syntaxes are still available + for use when a cast of an entire composite value is actually intended. @@ -123,9 +95,21 @@ Tighten casting checks for domains based on arrays (Tom Lane) - + - **Details? + When a domain is based on an array type, it is allowed to look + through the domain type to access the array elements, including + subscripting the domain value to fetch or assign an element. + Assignment to an element of such a domain value, for instance via + UPDATE ... SET domaincol[5] = ..., will now result in + rechecking the domain type's constraints, whereas before the checks + were skipped. + + + + Also, such a domain type is no longer allowed to match an + anyarray parameter of a polymorphic function, except by + explicitly downcasting it to the base array type. @@ -177,10 +161,11 @@ Fix improper checks for before/after triggers (Tom Lane) - + - **Tom, I need more details on the impact of this for existing - installs. + Triggers can now be fired in three cases: BEFORE, AFTER, or INSTEAD OF + some action. Trigger function authors should verify that their logic + behaves sanely in all three cases. @@ -241,7 +226,7 @@ - Previously RAISE in a code block always scoped to + Previously RAISE in a code block was always scoped to an attached exception block, so it was uncatchable at the same scope. @@ -250,11 +235,13 @@ Adjust PL/pgSQL's error line reporting code to be consistent - with SQL error line reporting (Pavel Stehule) + with other PLs (Pavel Stehule) - + - Previously error numbering was off by one. + Previously, PL/pgSQL would ignore (not count) an empty line at the + start of the function body. Since this was inconsistent with all + other languages, the special case was removed. @@ -271,11 +258,11 @@ Have pg_stat_reset() - reset all database-level statistics (Tom Lane) + reset all database-level statistics (Tomas Vondra) - Some counters were not being reset. + Some pg_stat_database counters were not being reset. @@ -299,7 +286,7 @@ - Changes, current as of 2011-03-15 + Changes Version 9.1 has ... @@ -336,7 +323,7 @@ Previously FULL OUTER JOIN could only be implemented as a merge join, and LEFT OUTER JOIN - and RIGHT OUTER JOIN could has only the nullable + and RIGHT OUTER JOIN could hash only the nullable side of the join. These changes provide additional query optimization possibilities. @@ -399,7 +386,7 @@ - Allow hash joins for array values (Tom Lane) + Support hashing array values (Tom Lane) @@ -457,7 +444,7 @@ Specifically this allows Unix-based GSSAPI clients - to SSPI authenticate to Windows servers. + to do SSPI authentication with Windows servers. @@ -517,18 +504,18 @@ Add pg_stat_xact_* - statistic functions and views (Joel Jacobson) + statistics functions and views (Joel Jacobson) - These are like the database-wide statistics counter views but + These are like the database-wide statistics counter views, but reflect counts for only the current transaction. - Add record of last reset in database and background writer-level + Add time of last reset in database-level and background writer statistics views (Tomas Vondra) @@ -582,7 +569,8 @@ Increase the maximum values for deadlock_timeout, log_min_duration_statement, and - log_autovacuum_min_duration. + log_autovacuum_min_duration + (Peter Eisentraut) @@ -739,14 +727,14 @@ - Cancelations can occur because of dropped tablespaces, lock + Cancellations can occur because of dropped tablespaces, lock timeouts, old snapshots, pinned buffers, and deadlocks. - Add a conflicts count to conflicts count to pg_stat_database (Magnus Hagander) @@ -884,6 +872,23 @@ + + + Add a true serializable isolation + level (Kevin Grittner, Dan Ports) + + + + Previously, asking for serializable isolation guaranteed only that a + single MVCC snapshot would be used for the entire transaction, which + allowed certain documented anomalies. The old snapshot isolation + behavior is still accessible by requesting the REPEATABLE READ + isolation level. + + + Allow data-modification commands @@ -893,17 +898,16 @@ - This allows INSERT/UPDATE/DELETE - RETURNING in WITH clauses to pass rows - to outer queries. + These commands can use RETURNING to pass data up to the + containing query. Allow WITH - clauses to be fed into INSERT, UPDATE, - DELETE statements (Marko Tiikkaja, Hitoshi Harada) + clauses to be attached to INSERT, UPDATE, + DELETE statements (Marko Tiikkaja, Hitoshi Harada) @@ -923,15 +927,14 @@ - Allow the use of the keyword DISTINCT in - UNION/INTERSECT/EXCEPT + Allow use of the keyword DISTINCT in UNION/INTERSECT/EXCEPT clauses (Tom Lane) DISTINCT is the default behavior so use of this - keyword is redundant. + keyword is redundant, but the SQL standard allows it. @@ -963,9 +966,9 @@ - Previously collation could only be set at the database level. + Previously collation could only be set at database creation. Collation can now be set per column, domain, index, or - expression. + expression, via the SQL-standard COLLATE clause. @@ -988,8 +991,9 @@ - This allows data stored in foreign sources to be used like - native PostgreSQL-stored data. + This allows data stored outside the database to be used like + native PostgreSQL-stored data. Foreign tables + are currently read-only, however. @@ -1153,21 +1157,6 @@ - - - Add a true serializable isolation level (Kevin Grittner, Dan Ports) - - - - Previously asking for serializable isolation guaranteed only that - a single MVCC snapshot would be used for the entire transaction, which - allowed certain documented anomalies. - The old snapshot isolation level is still accessible by - requesting the REPEATABLE - READ isolation level. - - - Add transaction-level advisory @@ -1176,7 +1165,7 @@ This is similar to the existing session-level advisory locks, - but are freed at transaction end. + but the locks are automatically released at transaction end. @@ -1236,8 +1225,8 @@ - Have EXPLAIN VERBOSE - show the function call expression (Tom Lane) + Make EXPLAIN VERBOSE show the function call expression + in a FunctionScan node (Tom Lane) @@ -1286,8 +1275,8 @@ - Allow CLUSTER to sort the table rather than scanning the index - when it seems likely to be cheaper (Leonardo Francalanci) + Allow CLUSTER to sort the table rather than scanning + the index when it seems likely to be cheaper (Leonardo Francalanci) @@ -1307,8 +1296,8 @@ - This allows GiST indexes to quickly return - LIMIT-specified closest values. + This allows GiST indexes to quickly return the + N closest values in a query with LIMIT. @@ -1319,7 +1308,8 @@ - This allows full GIN index scans. + This allows full GIN index scans, and fixes various + corner cases in which GIN scans would fail. @@ -1454,8 +1444,8 @@ These check whether the input is properly-formed XML. - They supersede functionality that was previously available only using - contrib/xml2. + They provide functionality that was previously available only in + the deprecated contrib/xml2 module. @@ -1619,7 +1609,7 @@ - Minimise lock levels for CREATE TRIGGER and many ALTER TABLE and CREATE @@ -1648,24 +1638,13 @@ Add FOREACH IN - ARRAY to PL/pgSQL to - allow array iteration (Pavel Stehule) + ARRAY to PL/pgSQL + (Pavel Stehule) - This is more efficient than previous methods. - - - - - - Add FOREACH IN - ARRAY to PL/pgSQL to - allow array iteration (Pavel Stehule) - - - - This is more efficient than previous methods. + This is more efficient and readable than previous methods of + iterating through the elements of an array value. @@ -1673,11 +1652,13 @@ Allow RAISE without parameters to be caught in the same places that could catch a RAISE ERROR - from the same location. + from the same location (Piyush Newe) - The new behavior is more consistent. + The previous coding threw the error + from the block containing the active exception handler. + The new behavior is more consistent with other DBMS products. @@ -1697,13 +1678,14 @@ - **Andrew, I need details on this. + PL/Perl functions can now be declared to accept type record. + The behavior is the same as for any named composite type. - Convert PL/Perl input arguments to Perl arrays (Alexey Klyukin, + Convert PL/Perl array arguments to Perl arrays (Alexey Klyukin, Alex Hunsaker) @@ -1714,7 +1696,7 @@ - Convert PL/Perl row and composite type arguments to Perl hashes + Convert PL/Perl composite-type arguments to Perl hashes (Alexey Klyukin, Alex Hunsaker) @@ -1738,18 +1720,18 @@ - PL/Python now can return multiple OUT parameters + PL/Python can now return multiple OUT parameters and record sets. - Add validator to PL/Python (Jan Urbanski) + Add a validator to PL/Python (Jan Urbanski) - This allows PL/Python functions to be validated at function + This allows PL/Python functions to be syntax-checked at function creation time. @@ -1765,17 +1747,6 @@ - - - Allow PL/Python to access SQLSTATE exception values - (Jan Urbanski) - - - - **Is this the same as the item above? - - - Add PL/Python explicit subtransactions (Jan Urbanski) @@ -1820,7 +1791,7 @@ - This includes exception support for Python 3. **More? + This includes exception support for Python 3. **More detail? @@ -1840,7 +1811,7 @@ Mark createlang and droplang - as deprecated now that they use the extension framework (Tom + as deprecated now that they just invoke extension commands (Tom Lane) @@ -1981,7 +1952,7 @@ Improve pg_ctl start's "wait" ( @@ -2113,14 +2084,6 @@ - - - Require GNU make - 3.80 or newer (Peter Eisentraut) - - - Improved parallel make support (Peter Eisentraut) @@ -2128,8 +2091,19 @@ This allows for faster compiles. Also, make + + + + + Require GNU make + 3.80 or newer (Peter Eisentraut) + + + + This is necessary because of the parallel-make improvements. @@ -2315,8 +2289,8 @@ - Foreign tables using this foreign data wrapper will read flat files - in a matter very similar to COPY. + Foreign tables using this foreign data wrapper can read flat files + in a manner very similar to COPY. @@ -2333,7 +2307,7 @@ Add contrib/btree_gist - support for searching on not equals (Jeff Davis) + support for searching on not-equals (Jeff Davis) @@ -2379,7 +2353,7 @@ In contrib/intarray, - avoid errors complaining about the presence nulls in cases where no + avoid errors complaining about the presence of nulls in cases where no nulls are actually present (Tom Lane) @@ -2400,13 +2374,14 @@ - In contrib/xml2, remove - arbitrary limit on the number of parameter=value pairs that - can be handled by xslt_process() (Pavel Stehule) + Remove contrib/xml2's + arbitrary limit on the number of + parameter=value pairs that can be + handled by xslt_process() (Pavel Stehule) - The previous limit was 20. + The previous limit was 10. @@ -2499,10 +2474,6 @@ linkend="seg">contrib/seg columns (Alexander Korotkov) - - - **Confirm this does not affect pg_upgrade - @@ -2614,10 +2585,6 @@ using (compositeval).* syntax (Peter Eisentraut) - - - **Is this syntax new in 9.1? -