On Sat, Oct 13, 2018 at 03:38:39PM -0500, Justin Pryzby wrote: > On Sat, Oct 13, 2018 at 04:34:07PM -0400, Tom Lane wrote: > > "Jonathan S. Katz" <jk...@postgresql.org> writes: > > > On 10/6/18 9:42 AM, Justin Pryzby wrote: > > >> Find below various fixes to release notes for v11, for discussion > > >> purposes. > > > > > Thanks for putting this together. I reviewed, broke it up into two > > > patches, and made some additions / changes / deletions. Please see > > > attached patches. > > > > Hmm, I just saw this after spending an afternoon editing the release > > notes. I'll try to merge it with what I did. > > I had some more local changes too...I'll try to send an patch relative to my > original. I'm sure Jonathan already caught most of the errors anyway.
I'm attaching two patches. They're redundant ; choose one. 1) fine-tune-jonathan-justin.patch: To be applied on top of Jonathan's patch to release notes. I believe he dropped a few of my changes, but I don't know offhand which, so some of my changes should perhaps be removed. I think at least these two additional hunks are important: - B-tree indexes can now be built in parallel with + A B-tree index can now be built in parallel with => avoid confusion between "parallel" and "simultaneous". - Allow <literal>UNIQUE</literal> indexes on partitioned tables if - the partition key guarantees uniqueness (Álvaro Herrera, + Allow <literal>UNIQUE</literal> indexes on partitioned tables when + the partition key is included in the index key (Álvaro Herrera, => Needed for correctness IMHO. 2) fine-tune-v2.patch: relative to my original. Should be self explanatory. Feel free to send your own patch and I'll resolve conflicts and resend proposed changes. Justin
diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml index 5df6a41..5594d43 100644 --- a/doc/src/sgml/release-11.sgml +++ b/doc/src/sgml/release-11.sgml @@ -49,8 +49,8 @@ </listitem> <listitem> <para> - Having a "default" partition for storing data that does not match any - of the remaining partitions + Allow creation of a "default" partition for storing rows which are + excluded by bounds of all other partitions. </para> </listitem> </itemizedlist> @@ -63,7 +63,7 @@ <itemizedlist> <listitem> <para> - B-tree indexes can now be built in parallel with + A B-tree index can now be built in parallel with <command>CREATE INDEX</command> </para> </listitem> @@ -118,9 +118,9 @@ <listitem> <para> - Many other useful performance improvements, including a significant - speedup to the <command>ALTER TABLE .. ADD COLUMN</command> with a - non-null column default as it no longer rewrites the full table. + Many other useful performance improvements, including the ability to avoid + a table rewrite when using <command>ALTER TABLE .. ADD COLUMN</command> + with a non-null column default. </para> </listitem> @@ -591,8 +591,8 @@ --> <para> - Allow <literal>UNIQUE</literal> indexes on partitioned tables if - the partition key guarantees uniqueness (Álvaro Herrera, + Allow <literal>UNIQUE</literal> indexes on partitioned tables when + the partition key is included in the index key (Álvaro Herrera, Amit Langote) </para> </listitem> @@ -603,15 +603,18 @@ --> <para> - Allow indexes on a partitioned table to be automatically created - in any child partitions (Álvaro Herrera) + Support indexes on partitioned tables (Álvaro Herrera) + </para> + + <para> + This is not a global index, but rather a mechanism to create indexes on + on each partition of a partitioned table. </para> <para> The new command <link linkend="sql-alterindex"><command>ALTER - INDEX ATTACH PARTITION</command></link> allows indexes to be - attached to partitions. This does not behave as a global index - since the contents are private to each index. + INDEX ATTACH PARTITION</command></link> allows an index on a partition + to be inherited by the index on its partitioned tables. </para> </listitem> @@ -654,7 +657,7 @@ <para> Creation of a trigger on partitioned tables automatically creates - triggers on all existing and future partitions. + triggers on all existing and any future partitions. This also allows deferred unique constraints on partitioned tables. </para> </listitem> @@ -667,14 +670,16 @@ --> <para> - Allow partitioned tables to be joined directly for equality joins with - identically partitioned child tables. (Ashutosh Bapat) + Allow joins between partitioned tables to be performed directly + on partitions. (Ashutosh Bapat) </para> <para> - This feature is disabled by default - but can be enabled by changing <link - linkend="guc-enable-partitionwise-join"><varname>enable_partitionwise_join</varname></link>. + This applies to equality joins between partitioned tables whose + partitions have exactly the same partition bounds. + This feature is disabled by default but can be enabled by changing + <link linkend="guc-enable-partitionwise-join"><varname>enable_partitionwise_join</varname></link>. + </para> </listitem> @@ -685,14 +690,13 @@ --> <para> - Perform aggregation on each partition, and then merge the results - (Jeevan Chalke, Ashutosh Bapat, Robert Haas) + Allow aggregate functions on partitioned tables to be evaluated + directly on partitions. (Jeevan Chalke, Ashutosh Bapat, Robert Haas) </para> <para> - This feature is disabled by default - but can be enabled by changing <link - linkend="guc-enable-partitionwise-aggregate"><varname>enable_partitionwise_aggregate</varname></link>. + This feature is disabled by default but can be enabled by changing + <link linkend="guc-enable-partitionwise-aggregate"><varname>enable_partitionwise_aggregate</varname></link>. </para> </listitem> @@ -763,7 +767,7 @@ same commits as above --> <para> - Allow partition scans to more efficiently use parallel workers + Allow partition scans to use parallel workers (Amit Khandekar, Robert Haas, Amul Sul) </para> </listitem> @@ -873,8 +877,9 @@ same commits as above </para> <para> - This is also useful for including columns that don't have btree - support. + This is also useful for including columns in a unique or + exclusion constraint which shouldn't participate in uniqueness, or + for including columns that don't have btree support. </para> </listitem> @@ -886,8 +891,8 @@ same commits as above <para> Remember the highest btree index page to optimize future - monotonically increasing index additions (Pavan Deolasee, Peter - Geoghegan) + insertions of values for the case that those values are increasing + monotonically (Pavan Deolasee, Peter Geoghegan) </para> </listitem> @@ -1008,8 +1013,8 @@ same commits as above chosen based on their frequency compared to all column values. Now, <acronym>MCV</acronym> are chosen based on their significance compared to the non-<acronym>MCV</acronym> values. - This improves the statistics for uniform (fewer) and non-uniform - (more) distributions. + This allows improved estimates for both uniform and non-uniform + distributions. </para> </listitem> @@ -1051,8 +1056,8 @@ same commits as above --> <para> - Improve row count optimizer estimates for <literal>EXISTS</literal> - and <literal>NOT EXISTS</literal> queries (Tom Lane) + Improve row count estimates for <literal>EXISTS</literal> and + <literal>NOT EXISTS</literal> queries (Tom Lane) </para> </listitem> @@ -1095,7 +1100,7 @@ same commits as above <para> This feature requires <application>LLVM</application> to be - available. Even in builds that include <application>LLVM</application>, + available. Even in builds that include <application>LLVM</application>, <acronym>JIT</acronym> compilation is disabled by default. </para> </listitem> @@ -1488,11 +1493,11 @@ same commits as above <para> Allow server options related to memory and file sizes to be - specified as number of bytes (Beena Emerson) + specified in units of bytes (Beena Emerson) </para> <para> - The new unit is "B". This is in addition to "kB", "MB", "GB" + The new suffix is "B". This is in addition to "kB", "MB", "GB" and "TB". </para> @@ -1528,12 +1533,12 @@ same commits as above --> <para> - Retain <acronym>WAL</acronym> for a single checkpoint, only. + Retain <acronym>WAL</acronym> spanning a single checkpoint, only. (Simon Riggs) </para> <para> - Previously, <acronym>WAL</acronym> was retained for two checkpoints. + Previously, <acronym>WAL</acronym> spanning two checkpoints was retained. </para> </listitem> @@ -1704,9 +1709,8 @@ same commits as above --> <para> - Allow <command>ALTER TABLE</command> to add a column with - a non-null default without a table rewrite (Andrew Dunstan, - Serge Rielau) + When adding a column with a non-null default, avoid rewriting the table. + (Andrew Dunstan, Serge Rielau) </para> </listitem> @@ -1750,6 +1754,7 @@ same commits as above </para> <para> +DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Also, if any table mentioned in <command>VACUUM</command> uses a column list, then the <command>ANALYZE</command> keyword must be supplied; previously, <command>ANALYZE</command> was implied in @@ -2028,7 +2033,7 @@ same commits as above <para> Add extension <application>jsonb_plpython</application> to - transform <type>JSONB </type>to/from PL/Python types (Anthony + transform <type>JSONB</type> to/from PL/Python types (Anthony Bykov) </para> </listitem> @@ -2040,7 +2045,7 @@ same commits as above <para> Add extension <application>jsonb_plperl</application> to transform - <type>JSONB </type>to/from PL/Perl types (Anthony Bykov) + <type>JSONB</type> to/from PL/Perl types (Anthony Bykov) </para> </listitem> @@ -2119,7 +2124,7 @@ same commits as above <para> Add <application>psql</application> command \gdesc to display - the column names and types of the query output (Pavel Stehule) + the names and types of the columns in query results (Pavel Stehule) </para> </listitem> @@ -2152,7 +2157,7 @@ same commits as above </para> <para> - Specifically , the syntax <literal>:{?variable_name}</literal> + Specifically, the syntax <literal>:{?variable_name}</literal> allows a variable's existence to be tested in an \if statement. </para> </listitem> @@ -2288,7 +2293,7 @@ same commits as above --> <para> - Add <application>pgbench</application> expressions support for + Add <application>pgbench</application> expression support for NULLs, booleans, and some functions and operators (Fabien Coelho) </para> </listitem> @@ -2356,7 +2361,7 @@ same commits as above <para> Allow <application>pgbench</application> to do exponentiation - with <function>pow()</function> and <function>power()</function> + with <function>pow()</function> and <function>power()</function> (Raúl Marín Rodríguez) </para> </listitem> @@ -2789,7 +2794,7 @@ same commits as above <para> Make the computation of <structname>pg_class</structname>.<structfield>reltuples</structfield> - by VACUUM consistent with computation by ANALYZE (Tomas Vondra) + by VACUUM consistent with the computation by ANALYZE (Tomas Vondra) </para> </listitem>
diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index 7bd1da3..e079d23 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml @@ -673,7 +673,7 @@ Indexes: valid, once all partitions acquire the index.) Note, however, that any partition that is created in the future using <command>CREATE TABLE ... PARTITION OF</command> will automatically - contain the index regardless of whether <literal>ONLY</literal> was + contain the index regardless of <literal>ONLY</literal> being specified. </para> diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml index a945502..bb7d4c5 100644 --- a/doc/src/sgml/release-11.sgml +++ b/doc/src/sgml/release-11.sgml @@ -49,7 +49,7 @@ </listitem> <listitem> <para> - Allow creation of a "default" partition for storing rows which are + Allow creation of a "default" partition for storing rows which are excluded by bounds of all other partitions. </para> </listitem> @@ -591,8 +591,9 @@ --> <para> - Allow <literal>UNIQUE</literal> indexes on partitioned tables if - the partition key is included in the index (Álvaro Herrera, Amit Langote) + Allow <literal>UNIQUE</literal> indexes on partitioned tables when + the partition key is included in the index key (Álvaro Herrera, + Amit Langote) </para> </listitem> @@ -606,14 +607,14 @@ </para> <para> - This is not a global index, but rather a mechanism to create indexes on - on each partition of a partitioned table. + This is not a global index, but rather a mechanism to create indexes on + on each partition of a partitioned table. </para> <para> The new command <link linkend="sql-alterindex"><command>ALTER - INDEX ATTACH PARTITION</command></link> allows an index on a partition - to be inherited by the index on its partitioned tables. + INDEX ATTACH PARTITION</command></link> allows an index on a partition + to be inherited by the index on its partitioned tables. </para> </listitem> @@ -656,7 +657,7 @@ <para> Creation of a trigger on partitioned tables automatically creates - triggers on all existing and future partitions. + triggers on all existing and any future partitions. This also allows deferred unique constraints on partitioned tables. </para> </listitem> @@ -669,14 +670,16 @@ --> <para> - Allow partitioned tables to be joined directly for equality joins with - identically partitioned child tables. (Ashutosh Bapat) + Allow joins between partitioned tables to be performed directly + on partitions. (Ashutosh Bapat) </para> <para> - This feature is disabled by default - but can be enabled by changing <link - linkend="guc-enable-partitionwise-join"><varname>enable_partitionwise_join</varname></link>. + This applies to equality joins between partitioned tables whose + partitions have exactly the same partition bounds. + This feature is disabled by default but can be enabled by changing + <link linkend="guc-enable-partitionwise-join"><varname>enable_partitionwise_join</varname></link>. + </para> </listitem> @@ -687,14 +690,13 @@ --> <para> - Allow first performing aggregate functions on each partition and then - merging the results. (Jeevan Chalke, Ashutosh Bapat, Robert Haas) + Allow aggregate functions on partitioned tables to be evaluated + directly on partitions. (Jeevan Chalke, Ashutosh Bapat, Robert Haas) </para> <para> - This feature is disabled by default - but can be enabled by changing <link - linkend="guc-enable-partitionwise-aggregate"><varname>enable_partitionwise_aggregate</varname></link>. + This feature is disabled by default but can be enabled by changing + <link linkend="guc-enable-partitionwise-aggregate"><varname>enable_partitionwise_aggregate</varname></link>. </para> </listitem> @@ -875,8 +877,9 @@ same commits as above </para> <para> - This is also useful for including columns that don't have btree - support. + This is also useful for including columns in a unique or + exclusion constraint which shouldn't participate in uniqueness, or + for including columns that don't have btree support. </para> </listitem> @@ -1097,7 +1100,8 @@ same commits as above <para> This feature requires <application>LLVM</application> to be - available, and it is currently disabled by default. + available. Even in builds that include <application>LLVM</application>, + <acronym>JIT</acronym> compilation is disabled by default. </para> </listitem> @@ -1493,7 +1497,7 @@ same commits as above </para> <para> - The new unit suffix is "B". This is in addition to "kB", "MB", "GB" + The new suffix is "B". This is in addition to "kB", "MB", "GB" and "TB". </para> @@ -1529,12 +1533,12 @@ same commits as above --> <para> - Retain <acronym>WAL</acronym> for a single checkpoint, only. + Retain <acronym>WAL</acronym> spanning a single checkpoint, only. (Simon Riggs) </para> <para> - Previously, <acronym>WAL</acronym> was retained for two checkpoints. + Previously, <acronym>WAL</acronym> spanning two checkpoints was retained. </para> </listitem> @@ -1626,7 +1630,6 @@ same commits as above <para> This allows efficient advancing of replication slots when the -???? contents do not need to be consumed. This is performed by <function>pg_replication_slot_advance()</function>. </para> @@ -1706,8 +1709,8 @@ same commits as above --> <para> - Allow <command>ALTER TABLE</command> to avoid a table rewrite when - adding a column with a non-null default (Andrew Dunstan, Serge Rielau) + When adding a column with a non-null default, avoid rewriting the table. + (Andrew Dunstan, Serge Rielau) </para> </listitem> @@ -1970,7 +1973,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? PROCEDURE</command></link> command and invoked via <link linkend="sql-call"><command>CALL</command></link>. The new <command>ALTER</command>/<command>DROP ROUTINE</command> commands - allow altering/dropping of procedures, functions, and aggregates. + allow for altering/dropping of procedures, functions, and aggregates. </para> </listitem> @@ -2030,7 +2033,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? <para> Add extension <application>jsonb_plpython</application> to - transform <type>JSONB </type>to/from PL/Python types (Anthony + transform <type>JSONB</type> to/from PL/Python types (Anthony Bykov) </para> </listitem> @@ -2042,7 +2045,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? <para> Add extension <application>jsonb_plperl</application> to transform - <type>JSONB </type>to/from PL/Perl types (Anthony Bykov) + <type>JSONB</type> to/from PL/Perl types (Anthony Bykov) </para> </listitem> @@ -2121,7 +2124,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? <para> Add <application>psql</application> command \gdesc to display - the column names and types of the query output (Pavel Stehule) + the names and types of the columns in query results (Pavel Stehule) </para> </listitem> @@ -2154,7 +2157,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? </para> <para> - Specifically , the syntax <literal>:{?variable_name}</literal> + Specifically, the syntax <literal>:{?variable_name}</literal> allows a variable's existence to be tested in an \if statement. </para> </listitem> @@ -2290,7 +2293,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? --> <para> - Add <application>pgbench</application> expressions support for + Add <application>pgbench</application> expression support for NULLs, booleans, and some functions and operators (Fabien Coelho) </para> </listitem> @@ -2358,7 +2361,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? <para> Allow <application>pgbench</application> to do exponentiation - with <function>pow()</function> and <function>power()</function> + with <function>pow()</function> and <function>power()</function> (Raúl Marín Rodríguez) </para> </listitem> @@ -2791,7 +2794,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? <para> Make the computation of <structname>pg_class</structname>.<structfield>reltuples</structfield> - by VACUUM consistent with computation by ANALYZE (Tomas Vondra) + by VACUUM consistent with the computation by ANALYZE (Tomas Vondra) </para> </listitem>