Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gBR5V-00038Y-Pz for pgsql-hackers@arkaria.postgresql.org; Sat, 13 Oct 2018 21:04:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gBR5T-0006oz-1Q for pgsql-hackers@arkaria.postgresql.org; Sat, 13 Oct 2018 21:04:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gBR5S-0006os-OQ for pgsql-hackers@lists.postgresql.org; Sat, 13 Oct 2018 21:04:38 +0000 Received: from mail-io1-xd42.google.com ([2607:f8b0:4864:20::d42]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gBR5O-0005ux-VB for pgsql-hackers@postgresql.org; Sat, 13 Oct 2018 21:04:38 +0000 Received: by mail-io1-xd42.google.com with SMTP id q4-v6so11647888iob.8 for ; Sat, 13 Oct 2018 14:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=eJKyKdLHLljjFOMCUKoZ5s9fGoMYxozVIyLaCUMBP5c=; b=kXSZM+sS4xZJ2vYdi8ki3o4vWrK1fLg/3U55aXxNxEC37nZRIvXGURP5VqoMCapSwX JMYqUhFN9oUt7bKmxXDDMMULBP0pBjw9sMlJ1y6SnpQUBt65xRXqU0d76SCPQ7d8l32C hbVNt1Xjx986wXiPqf+69/MycKRSagcAyEtA7nlC8dSMFzFvXO5Tn/G5muTTF97BmZ4l RvUW4bS8KNAglLmAHq3T3NOl58iP/agYzNUmVZ0WP66W9vPc5VjK+iN7bxrvqjVRztQP XkumlyPoGZdvm3J3Raz1hewCFFl/TRS2mnagxpSzUPA8tQlJJV6T8P2gersToL08tPZH FMpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=eJKyKdLHLljjFOMCUKoZ5s9fGoMYxozVIyLaCUMBP5c=; b=VIbZMkHm7t/RxQ5C7wyVqgOAb0e7S2DX2R9TppnRZj3RzYskZeU2D5awYh5sm5ZHOV tLoRph8XtDR7MaMxgw4rtaTYEw1JizSxdIxARaHosteNK54usrqmNaVCC+TfB6TlSvLe CvTFImvKEjeCJTy59S3GWobr6q8up7K0rB3mwPGfrR4/oT5kFhV66uWtxuHMmEOJHuZP CMukDZ4Q1ixCHjqBAOrrH5zSirXoPbdRNhM1/T7pRuKZumNjFT1RoNPYI+uPuUj7tWf6 VBm5uFOZAxRBgSVrD/9d8V3JBgMb3c+1yOttR0FEkKRGGSzzt217uXe1jCI4d8eLoLrd /HPw== X-Gm-Message-State: ABuFfohqz9+PTy74OqutOVu1jdnW0dudDYDnQgJSR8vrVmhNWbCTy2NL 57+m3bL6b6uXqFoZqdRuLr0OIw== X-Google-Smtp-Source: ACcGV62WCu1FS3aRMWULWnH2cDt5LYyFHQHLaw81uzeAPfHyRr1zpwOvCGTigLqjFpWr6gIht8dNfA== X-Received: by 2002:a6b:6a02:: with SMTP id x2-v6mr8235272iog.38.1539464672603; Sat, 13 Oct 2018 14:04:32 -0700 (PDT) Received: from pryzbyj (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id q25-v6sm1610214ioi.41.2018.10.13.14.04.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 13 Oct 2018 14:04:32 -0700 (PDT) Received: by pryzbyj (Postfix, from userid 1000) id A7529804FC9; Sat, 13 Oct 2018 16:04:30 -0500 (CDT) Date: Sat, 13 Oct 2018 16:04:30 -0500 From: Justin Pryzby To: Tom Lane Cc: "Jonathan S. Katz" , pgsql-hackers@postgresql.org, Bruce Momjian Subject: Re: fine tune v11 release notes Message-ID: <20181013210430.GA5325@telsasoft.com> References: <20181006134249.GD871@telsasoft.com> <24ecf60a-851e-35d2-e5d4-458eb645d1b9@postgresql.org> <22578.1539462847@sss.pgh.pa.us> <20181013203839.GH23241@telsasoft.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="CE+1k2dSO48ffgeK" Content-Disposition: inline In-Reply-To: <20181013203839.GH23241@telsasoft.com> User-Agent: Mutt/1.5.23 (2014-03-12) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --CE+1k2dSO48ffgeK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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" 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 UNIQUE indexes on partitioned tables if - the partition key guarantees uniqueness (Álvaro Herrera, + Allow UNIQUE 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 --CE+1k2dSO48ffgeK Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="fine-tune-jonathan-justin.patch" 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 @@ - 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. @@ -63,7 +63,7 @@ - B-tree indexes can now be built in parallel with + A B-tree index can now be built in parallel with CREATE INDEX @@ -118,9 +118,9 @@ - Many other useful performance improvements, including a significant - speedup to the ALTER TABLE .. ADD COLUMN 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 ALTER TABLE .. ADD COLUMN + with a non-null column default. @@ -591,8 +591,8 @@ --> - Allow UNIQUE indexes on partitioned tables if - the partition key guarantees uniqueness (Álvaro Herrera, + Allow UNIQUE indexes on partitioned tables when + the partition key is included in the index key (Álvaro Herrera, Amit Langote) @@ -603,15 +603,18 @@ --> - Allow indexes on a partitioned table to be automatically created - in any child partitions (Álvaro Herrera) + Support indexes on partitioned tables (Álvaro Herrera) + + + + This is not a global index, but rather a mechanism to create indexes on + on each partition of a partitioned table. The new command ALTER - INDEX ATTACH PARTITION 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 allows an index on a partition + to be inherited by the index on its partitioned tables. @@ -654,7 +657,7 @@ 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. @@ -667,14 +670,16 @@ --> - 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) - This feature is disabled by default - but can be enabled by changing enable_partitionwise_join. + 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 + enable_partitionwise_join. + @@ -685,14 +690,13 @@ --> - 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) - This feature is disabled by default - but can be enabled by changing enable_partitionwise_aggregate. + This feature is disabled by default but can be enabled by changing + enable_partitionwise_aggregate. @@ -763,7 +767,7 @@ same commits as above --> - Allow partition scans to more efficiently use parallel workers + Allow partition scans to use parallel workers (Amit Khandekar, Robert Haas, Amul Sul) @@ -873,8 +877,9 @@ same commits as above - 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. @@ -886,8 +891,8 @@ same commits as above 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) @@ -1008,8 +1013,8 @@ same commits as above chosen based on their frequency compared to all column values. Now, MCV are chosen based on their significance compared to the non-MCV values. - This improves the statistics for uniform (fewer) and non-uniform - (more) distributions. + This allows improved estimates for both uniform and non-uniform + distributions. @@ -1051,8 +1056,8 @@ same commits as above --> - Improve row count optimizer estimates for EXISTS - and NOT EXISTS queries (Tom Lane) + Improve row count estimates for EXISTS and + NOT EXISTS queries (Tom Lane) @@ -1095,7 +1100,7 @@ same commits as above This feature requires LLVM to be - available. Even in builds that include LLVM, + available. Even in builds that include LLVM, JIT compilation is disabled by default. @@ -1488,11 +1493,11 @@ same commits as above 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) - 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". @@ -1528,12 +1533,12 @@ same commits as above --> - Retain WAL for a single checkpoint, only. + Retain WAL spanning a single checkpoint, only. (Simon Riggs) - Previously, WAL was retained for two checkpoints. + Previously, WAL spanning two checkpoints was retained. @@ -1704,9 +1709,8 @@ same commits as above --> - Allow ALTER TABLE 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) @@ -1750,6 +1754,7 @@ same commits as above +DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Also, if any table mentioned in VACUUM uses a column list, then the ANALYZE keyword must be supplied; previously, ANALYZE was implied in @@ -2028,7 +2033,7 @@ same commits as above Add extension jsonb_plpython to - transform JSONB to/from PL/Python types (Anthony + transform JSONB to/from PL/Python types (Anthony Bykov) @@ -2040,7 +2045,7 @@ same commits as above Add extension jsonb_plperl to transform - JSONB to/from PL/Perl types (Anthony Bykov) + JSONB to/from PL/Perl types (Anthony Bykov) @@ -2119,7 +2124,7 @@ same commits as above Add psql 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) @@ -2152,7 +2157,7 @@ same commits as above - Specifically , the syntax :{?variable_name} + Specifically, the syntax :{?variable_name} allows a variable's existence to be tested in an \if statement. @@ -2288,7 +2293,7 @@ same commits as above --> - Add pgbench expressions support for + Add pgbench expression support for NULLs, booleans, and some functions and operators (Fabien Coelho) @@ -2356,7 +2361,7 @@ same commits as above Allow pgbench to do exponentiation - with pow() and power() + with pow() and power() (Raúl Marín Rodríguez) @@ -2789,7 +2794,7 @@ same commits as above Make the computation of pg_class.reltuples - by VACUUM consistent with computation by ANALYZE (Tomas Vondra) + by VACUUM consistent with the computation by ANALYZE (Tomas Vondra) --CE+1k2dSO48ffgeK Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="fine-tune-v2.patch" 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 CREATE TABLE ... PARTITION OF will automatically - contain the index regardless of whether ONLY was + contain the index regardless of ONLY being specified. 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 @@ - 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. @@ -591,8 +591,9 @@ --> - Allow UNIQUE indexes on partitioned tables if - the partition key is included in the index (Álvaro Herrera, Amit Langote) + Allow UNIQUE indexes on partitioned tables when + the partition key is included in the index key (Álvaro Herrera, + Amit Langote) @@ -606,14 +607,14 @@ - 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. The new command ALTER - INDEX ATTACH PARTITION allows an index on a partition - to be inherited by the index on its partitioned tables. + INDEX ATTACH PARTITION allows an index on a partition + to be inherited by the index on its partitioned tables. @@ -656,7 +657,7 @@ 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. @@ -669,14 +670,16 @@ --> - 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) - This feature is disabled by default - but can be enabled by changing enable_partitionwise_join. + 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 + enable_partitionwise_join. + @@ -687,14 +690,13 @@ --> - 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) - This feature is disabled by default - but can be enabled by changing enable_partitionwise_aggregate. + This feature is disabled by default but can be enabled by changing + enable_partitionwise_aggregate. @@ -875,8 +877,9 @@ same commits as above - 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. @@ -1097,7 +1100,8 @@ same commits as above This feature requires LLVM to be - available, and it is currently disabled by default. + available. Even in builds that include LLVM, + JIT compilation is disabled by default. @@ -1493,7 +1497,7 @@ same commits as above - 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". @@ -1529,12 +1533,12 @@ same commits as above --> - Retain WAL for a single checkpoint, only. + Retain WAL spanning a single checkpoint, only. (Simon Riggs) - Previously, WAL was retained for two checkpoints. + Previously, WAL spanning two checkpoints was retained. @@ -1626,7 +1630,6 @@ same commits as above This allows efficient advancing of replication slots when the -???? contents do not need to be consumed. This is performed by pg_replication_slot_advance(). @@ -1706,8 +1709,8 @@ same commits as above --> - Allow ALTER TABLE 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) @@ -1970,7 +1973,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? PROCEDURE command and invoked via CALL. The new ALTER/DROP ROUTINE commands - allow altering/dropping of procedures, functions, and aggregates. + allow for altering/dropping of procedures, functions, and aggregates. @@ -2030,7 +2033,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Add extension jsonb_plpython to - transform JSONB to/from PL/Python types (Anthony + transform JSONB to/from PL/Python types (Anthony Bykov) @@ -2042,7 +2045,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Add extension jsonb_plperl to transform - JSONB to/from PL/Perl types (Anthony Bykov) + JSONB to/from PL/Perl types (Anthony Bykov) @@ -2121,7 +2124,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Add psql 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) @@ -2154,7 +2157,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? - Specifically , the syntax :{?variable_name} + Specifically, the syntax :{?variable_name} allows a variable's existence to be tested in an \if statement. @@ -2290,7 +2293,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? --> - Add pgbench expressions support for + Add pgbench expression support for NULLs, booleans, and some functions and operators (Fabien Coelho) @@ -2358,7 +2361,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Allow pgbench to do exponentiation - with pow() and power() + with pow() and power() (Raúl Marín Rodríguez) @@ -2791,7 +2794,7 @@ DOES THIS NEED TO BE IN "COMPATIBILITY NOTES"? Make the computation of pg_class.reltuples - by VACUUM consistent with computation by ANALYZE (Tomas Vondra) + by VACUUM consistent with the computation by ANALYZE (Tomas Vondra) --CE+1k2dSO48ffgeK--