From fd5a2db774c1952567f75603dffb6d9fb0b0013d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 10 Aug 2016 23:08:44 -0400 Subject: [PATCH] docs: my second pass over the 9.6 release notes --- doc/src/sgml/release-9.6.sgml | 176 ++++++++++++++++++---------------- 1 file changed, 93 insertions(+), 83 deletions(-) diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index 1144f50a7b..cc886fa2bb 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -42,7 +42,7 @@ - Allow Full-text search for phrases (multiple adjacent words) + Allow full-text search for phrases (multiple adjacent words) @@ -380,8 +380,8 @@ This commit is also listed under libpq and psql 2015-09-16 [7aea8e4f2] Determine whether it's safe to attempt a parallel plan f --> - Provide infrastructure for marking functions as parallel-safe or - not (Robert Haas, Amit Kapila) + Provide infrastructure for marking the parallel-safe status of + functions (Robert Haas, Amit Kapila) @@ -412,9 +412,13 @@ This commit is also listed under libpq and psql --> Add pages deleted from a GIN index's pending list to the free space - map immediately, to reduce bloat if the table is not vacuumed often + map immediately (Jeff Janes, Teodor Sigaev) + + + This reduces bloat if the table is not vacuumed often. + @@ -494,7 +498,7 @@ This commit is also listed under libpq and psql If necessary, vacuum can be forced to process all-frozen pages using the new DISABLE_PAGE_SKIPPING option. - This should never be needed normally, but it might help in + Normally, this should never be needed but it might help in recovering from visibility-map corruption. @@ -527,7 +531,7 @@ This commit is also listed under libpq and psql This change avoids substantial replication delays that sometimes - occurred while replaying such operations. + occurre while replaying such operations. @@ -543,7 +547,7 @@ This commit is also listed under libpq and psql If a GROUP BY clause includes all columns of a non-deferred primary key, as well as other columns of the same - relation, those other columns are redundant and can be dropped + table, those other columns are redundant and can be dropped from the grouping. This saves computation in many common cases. @@ -598,11 +602,11 @@ This commit is also listed under libpq and psql On Linux, sync_file_range() is used for this purpose, - and the feature is on by default because that function has few - downsides. The feature is also available on other platforms + and the feature is on by default on Linux because that function has few + downsides. This sync capability is also available on other platforms that have msync() or posix_fadvise(), but those interfaces have some undesirable side-effects so the - feature is not enabled by default on other platforms. + feature is disabled by default on non-Linux platforms. @@ -672,9 +676,11 @@ This commit is also listed under libpq and psql - For example, CREATE INDEX tidx_partial ON t(b) WHERE a > - 0 could not previously be used for an index-only scan because - a is not an indexed value like b is. + For example, CREATE INDEX tidx_partial ON t(b) WHERE a + > 0 could not previously be used for an index-only scan by a + query that only referenced a in its WHERE + clause because a is not an indexed value like + b is. @@ -695,11 +701,11 @@ This commit is also listed under libpq and psql (a,b) REFERENCES r (x,y), then a WHERE condition such as t.a = r.x AND t.b = r.y cannot select more than one r row per t row. - The planner formerly considered the AND'ed conditions - to be independent and would often drastically misestimate the + The planner formerly considered AND conditions + to be independent and would often drastically misestimate selectivity as a result. Now it compares the WHERE - conditions to applicable foreign key constraints and produces a - better estimate. + conditions to applicable foreign key constraints and produces + better estimates. @@ -783,9 +789,9 @@ This commit is also listed under libpq and psql 2016-02-06 [aa2387e2f] Improve speed of timestamp/time/date output functions. --> - Improve speed of the output functions for timestamp with - and without timezone, time, and date data types - (David Rowley, Andres Freund) + Improve speed of the output functions for timestamp, + time, and date data types (David Rowley, + Andres Freund) @@ -812,9 +818,9 @@ This commit is also listed under libpq and psql - Previously it tended to underestimate the number of - non-NULL distinct values in a column with many - NULLs, and it also was inaccurate in computing the + Previously ANALYZE tended to underestimate the number + of non-NULL distinct values in a column with many + NULLs, and was also inaccurate in computing the most-common values. @@ -850,7 +856,8 @@ This commit is also listed under libpq and psql --> Improve sorting performance by using quicksort, not replacement - selection when performing external sort steps (Peter Geoghegan) + selection sort, when performing external sort steps (Peter + Geoghegan) @@ -879,16 +886,17 @@ This commit is also listed under libpq and psql 2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates. --> - Speed up the sorting of uuid, bytea, and + Speed up sorting of uuid, bytea, and char(n) fields by using abbreviated keys (Peter Geoghegan) - Support for abbreviated keys has also - been added to the non-default operator classes - text_pattern_ops, varchar_pattern_ops, - and bpchar_pattern_ops. Processing of ordered-set + Support for abbreviated keys has also been + added to the non-default operator classes text_pattern_ops, + varchar_pattern_ops, and + bpchar_pattern_ops. Processing of ordered-set aggregates can also now exploit abbreviated keys. @@ -899,7 +907,7 @@ This commit is also listed under libpq and psql --> Speed up CREATE INDEX CONCURRENTLY by treating - TIDs as 64-bit integers during the sort phase (Peter + TIDs as 64-bit integers during sorting (Peter Geoghegan) @@ -1064,11 +1072,11 @@ This commit is also listed under libpq and psql This function returns an array of the process IDs of any sessions that are blocking the session with the given process ID. Historically users have obtained such information using a self-join - on the pg_locks view; but it is unreasonably tedious - to do it that way with any modicum of correctness, and the addition - of parallel queries has made the approach entirely impractical, - since locks might be held or awaited by child worker processes - rather than the session's main process. + on the pg_locks view. However, it is unreasonably + tedious to do it that way with any modicum of correctness, and + the addition of parallel queries has made the approach entirely + impractical, since locks might be held or awaited by child worker + processes rather than the session's main process. @@ -1118,9 +1126,9 @@ This commit is also listed under libpq and psql - The memory usage dump printed to the postmaster log during an + The memory usage dump output to the postmaster log during an out-of-memory failure now summarizes statistics when there are a - large number of memory contexts, rather than possibly printing + large number of memory contexts, rather than possibly generating a very large report. There is also a grand total summary line now. @@ -1214,7 +1222,7 @@ This commit is also listed under libpq and psql 2016-02-02 [7d17e683f] Add support for systemd service notifications --> - Add @@ -1231,9 +1239,9 @@ This commit is also listed under libpq and psql 2015-09-08 [1aba62ec6] Allow per-tablespace effective_io_concurrency --> - Allow effective_io_concurrency to be set as a - tablespace parameter to support cases where different tablespaces - have different I/O characteristics (Julien Rouhaud) + Allow effective_io_concurrency to be set per-tablespace + to support cases where different tablespaces have different I/O + characteristics (Julien Rouhaud) @@ -1307,14 +1315,14 @@ This commit is also listed under libpq and psql - Formerly, we insisted on the key file being owned by the + Formerly, we insisted the key file be owned by the user running the PostgreSQL server, but - that is inconvenient for some systems (such as Debian) that are configured to manage certificates centrally. Therefore, allow the case where the key file is owned by root and has group read access. - It is up to the root admin to ensure that the group does not - include any untrusted users. + It is up to the operating system administrator to ensure that + the group does not include any untrusted users. @@ -1340,7 +1348,7 @@ This commit is also listed under libpq and psql Under normal circumstances the postmaster should always outlive its child processes. If for some reason the postmaster dies, force backend sessions to exit with an error. Formerly, existing - backends would continue to run until their client disconnects, + backends would continue to run until their clients disconnect, but that is unsafe and inefficient. It also prevents a new postmaster from being started until the last old backend has exited. Backends will detect postmaster death when waiting for @@ -1422,9 +1430,9 @@ XXX this is pending backpatch, may need to remove 2016-04-30 [17d5db352] Remove warning about num_sync being too large in synchro --> - Support synchronous replication using multiple synchronous - standby servers, not just one (Masahiko Sawada, Beena Emerson, - Michael Paquier, Fujii Masao, Kyotaro Horiguchi) + Allow synchronous replication to support multiple simultaneous + synchronous standby servers, not just one (Masahiko Sawada, + Beena Emerson, Michael Paquier, Fujii Masao, Kyotaro Horiguchi) @@ -1459,15 +1467,16 @@ XXX this is pending backpatch, may need to remove --> Add a feature to the replication - protocol, and a corresponding option to the pg_create_physical_replication_slot() - function, to allow reserving WAL immediately when - creating a replication slot (Gurjeet Singh, Michael Paquier) + protocol, and a corresponding option to pg_create_physical_replication_slot(), + to allow reserving WAL immediately when creating a + replication slot (Gurjeet Singh, Michael Paquier) - This allows creation of a replication slot to guarantee that all - the WAL for a base backup will be available afterwards. + This allows the creation of a replication slot to guarantee + that all the WAL needed for a base backup will be + available. @@ -1552,7 +1561,8 @@ XXX this is pending backpatch, may need to remove 2016-03-14 [74a379b98] Use repalloc_huge() to enlarge a SPITupleTable's tuple p --> - Widen tuples-processed counters to 64 bits (Andreas Scherbaum) + Widen counters recording the number of tuples processed to 64 bits + (Andreas Scherbaum) @@ -1738,7 +1748,7 @@ XXX this is pending backpatch, may need to remove - This possible because the table has no existing rows. This matches + This is possible because the table has no existing rows. This matches the longstanding behavior of FOREIGN KEY constraints. @@ -1820,8 +1830,8 @@ XXX this is pending backpatch, may need to remove are now gone in favor of making initdb revoke the default public EXECUTE privilege on these functions. This allows installations to choose to grant usage of such - functions to trusted roles that need not have full superuser - privilege. + functions to trusted roles that do not need all superuser + privileges. @@ -1893,9 +1903,9 @@ XXX this is pending backpatch, may need to remove 2016-03-30 [50861cd68] Improve portability of I/O behavior for the geometric ty --> - In the geometric data types, make sure that infinity - and NaN component values are treated consistently - during input and output (Tom Lane) + For geometric data types, make sure infinity and + NaN component values are treated consistently during + input and output (Tom Lane) @@ -1979,9 +1989,10 @@ XXX this is pending backpatch, may need to remove 2015-11-07 [c5e86ea93] Add "xid <> xid" and "xid <> int4" operators. --> - Add xid <> xid and xid - <> int4 operators, for consistency - with the corresponding = operators (Michael Paquier) + Add transaction id operators xid <> + xid and xid <> int4, + for consistency with the corresponding equality operators + (Michael Paquier) @@ -2060,8 +2071,8 @@ XXX this is pending backpatch, may need to remove The POSIX standard says that these functions should return NaN for NaN input, and should throw an error for - out-of-range inputs including infinity; but previously, - our actual behavior varied across platforms. + out-of-range inputs including infinity. Previously our + behavior varied across platforms. @@ -2090,7 +2101,7 @@ XXX this is pending backpatch, may need to remove - These are ts_delete(), ts_filter(), unnest(), tsvector_to_array(), array_to_tsvector(), @@ -2188,7 +2199,7 @@ XXX this is pending backpatch, may need to remove This function converts strings like those produced by - pg_size_pretty() into sizes in bytes. An example + pg_size_pretty() into bytes. An example usage is SELECT oid::regclass FROM pg_class WHERE pg_total_relation_size(oid) > pg_size_bytes('10 GB'). @@ -2222,8 +2233,8 @@ XXX this is pending backpatch, may need to remove - This allows avoiding an error for an unrecognized parameter name; - instead the result is NULL. + This allows avoiding an error for an unrecognized parameter + name, and instead return a NULL. @@ -2479,7 +2490,7 @@ This commit is also listed under psql and PL/pgSQL 2016-05-06 [e1b120a8c] Only issue LOCK TABLE commands when necessary --> - In pg_dump, dump locally-made changes in privilege + In pg_dump, dump locally-made changes of privilege assignments for system objects (Stephen Frost) @@ -2706,11 +2717,10 @@ This commit is also listed under libpq and PL/pgSQL - This change allows SQL commands in scripts to span multiple - lines. Existing custom scripts will need to be modified to add a - semicolon at the end of each line that does not have one already. - (Doing so does not break the script for use with older versions - of pgbench.) + This change allows SQL commands in scripts to span multiple lines. + Existing custom scripts will need to be modified to add a semicolon + at the end of each line if missing. (Doing so does not break + the script for use with older versions of pgbench.) @@ -3022,7 +3032,7 @@ This commit is also listed under libpq and PL/pgSQL This infrastructure allows pg_dump to dump changes that an installation may have made in privileges attached to system objects. Formerly, such changes would be lost in a dump - and reload, but now they can be preserved. + and reload, but now they are preserved. @@ -3130,7 +3140,7 @@ This commit is also listed under libpq and PL/pgSQL --> Separate out psql's flex lexer to - make it usable by other client programs too (Tom Lane, Kyotaro + make it usable by other client programs (Tom Lane, Kyotaro Horiguchi) @@ -3173,7 +3183,7 @@ This commit is also listed under libpq and PL/pgSQL This change allows extensions to write WAL records for - changes to pages with standard layout. The problem of needing to + changes to pages using a standard layout. The problem of needing to replay WAL without access to the extension is solved by having generic replay code. This allows extensions to implement, for example, index access methods and have WAL @@ -3286,7 +3296,7 @@ This commit is also listed under libpq and PL/pgSQL This is primarily a proof-of-concept for non-core index access methods, but it could be useful in its own right for queries that - involve searches on many columns. + search many columns. @@ -3329,7 +3339,7 @@ This commit is also listed under libpq and PL/pgSQL --> Add selectivity estimation functions for - contrib/intarray operators, to improve plans for + contrib/intarray operators to improve plans for queries using those operators (Yury Zhuravlev, Alexander Korotkov) @@ -3340,7 +3350,7 @@ This commit is also listed under libpq and PL/pgSQL --> Make contrib/pageinspect's + linkend="pageinspect">contrib/pageinspect's heap_page_items() function show the raw data in each tuple, and add new functions tuple_data_split() and heap_page_item_attrs() for inspection of individual -- 2.40.0