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" <[email protected]> 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>