Обсуждение: pgsql: docs: fist draft version of the PG 12 release notes

Поиск
Список
Период
Сортировка

pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
docs:  fist draft version of the PG 12 release notes

Still needs text markup, links, word wrap, and indenting.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bdf595adbca195fa54a909c74a5233ebc30641a1

Modified Files
--------------
doc/src/sgml/release-12.sgml | 2842 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 2833 insertions(+), 9 deletions(-)


Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Mon, May  6, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> docs:  fist draft version of the PG 12 release notes
> 
> Still needs text markup, links, word wrap, and indenting.

You can see the browser version at:

    http://momjian.us/tmp/pgsql/release-12.html

I will be away tomorrow/Tuesday but will continue working on this on
Wednesday.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Mon, May  6, 2019 at 07:03:39PM -0400, Bruce Momjian wrote:
> On Mon, May  6, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> > docs:  fist draft version of the PG 12 release notes
> > 
> > Still needs text markup, links, word wrap, and indenting.
> 
> You can see the browser version at:
> 

Sorry, this is a better URL:

    http://momjian.us/pgsql_docs/release-12.html

Our official docs will update in a few hours, I assume.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Amit Kapila
Дата:
On Tue, May 7, 2019 at 5:00 AM Bruce Momjian <bruce@momjian.us> wrote:
>
> On Mon, May  6, 2019 at 07:03:39PM -0400, Bruce Momjian wrote:
> > On Mon, May  6, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> > > docs:  fist draft version of the PG 12 release notes
> > >
> > > Still needs text markup, links, word wrap, and indenting.
> >
> > You can see the browser version at:
> >
>
> Sorry, this is a better URL:
>
>         http://momjian.us/pgsql_docs/release-12.html
>

Can you please remove below entry from release notes?

Avoid creation of the free space map files for small table (John
Naylor, Amit Kapila)

Such files are not useful.

I have reverted this feature for this release.  We might try it for
the next release.


-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Thomas Munro
Дата:
On Tue, May 7, 2019 at 11:02 AM Bruce Momjian <bruce@momjian.us> wrote:
> https://git.postgresql.org/pg/commitdiff/bdf595adbca195fa54a909c74a5233ebc30641a1

> +Use pread() and pwrite() for random I/O (Thomas Munro)

Hi Bruce,

For this one, can we please add Oskari Saarenmaa as first author, and
keep me as second?

-- 
Thomas Munro
https://enterprisedb.com



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Andrew Gierth
Дата:
>>>>> "Bruce" == Bruce Momjian <bruce@momjian.us> writes:

 Bruce> docs:  fist draft version of the PG 12 release notes
 Bruce> Still needs text markup, links, word wrap, and indenting.

The floating-point output change probably needs to be called out as a
compatibility issue, not just a performance enhancement.

-- 
Andrew (irc:RhodiumToad)



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Amit Langote
Дата:
Hi Bruce,

On 2019/05/07 8:02, Bruce Momjian wrote:
> docs:  fist draft version of the PG 12 release notes
> 
> Still needs text markup, links, word wrap, and indenting.

Thanks for crafting these up, as always.

About the partitioning performance improvement item:

+<listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after
pruni
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2018-11-15 [34c9e455d] Improve performance of partition pruning remapping
a lit
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+2018-11-16 [3f2393ede] Redesign initialization of partition routing
structures
+Author: Robert Haas <rhaas@postgresql.org>
+2019-02-21 [9eefba181] Delay lock acquisition for partitions until we
route a t
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at
plan
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning
ordered
+-->
+
+<para>
+Improve performance of pruning many partitions (Amit Langote, David
Rowley, Tom Lane, Álvaro Herrera)
+</para>
+
+<para>
+Now thousands of partitions can be pruned efficiently.
+</para>
+</listitem>

I think there may be two (or more) distinct improvements here.

* Performance of "pruning" itself which was bottle-necked in the planner
is improved mostly due to:

+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at
plan

* Also improved is the performance of inserting small number of rows into
partitioned tables which was bottle-necked in the executor because tuple
routing would do some redundant processing per statement.  The
improvements are due to:

+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+2018-11-16 [3f2393ede] Redesign initialization of partition routing
structures
+Author: Robert Haas <rhaas@postgresql.org>
+2019-02-21 [9eefba181] Delay lock acquisition for partitions until we
route a t

* AFAICT, the following two commits don't seem to have much to do with
improving the performance of pruning, although they are good improvements
in their own right.

+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning
ordered

My summary of this optimization is that with it we can avoid paying the
cost of merging the ordered partition outputs if partitions are determined
to be ordered among themselves (for example, range partitions).

+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after
pruni

My summary of this commit is that planner now correctly considers the
effect of partition pruning on cost calculations, whereas previously it
might end up making poor plan choices because it didn't subtract the pages
of pruned partitions from the total_table_pages global counter.

Thanks,
Amit




Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Oleg Bartunov
Дата:
On Tue, May 7, 2019 at 2:02 AM Bruce Momjian <bruce@momjian.us> wrote:
>
> docs:  fist draft version of the PG 12 release notes
>
> Still needs text markup, links, word wrap, and indenting.

"This allows JSON values to be selected using an SQL-standard language."
better
"This allows to execute complex queries on JSON values using an
SQL-standard language."

 I think it is a "big item" !



>
> Branch
> ------
> master
>
> Details
> -------
> https://git.postgresql.org/pg/commitdiff/bdf595adbca195fa54a909c74a5233ebc30641a1
>
> Modified Files
> --------------
> doc/src/sgml/release-12.sgml | 2842 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 2833 insertions(+), 9 deletions(-)
>


-- 
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Michael Paquier
Дата:
On Mon, May 06, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> docs:  fist draft version of the PG 12 release notes
>
> Still needs text markup, links, word wrap, and indenting.

I have noticed a duplicated word:
$ git grep "new new"
doc/src/sgml/release-12.sgml:Update unaccent rules with new new
punctuation and symbols (Hugh Ranalli, Michael Paquier)
--
Michael

Вложения

Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Alvaro Herrera
Дата:
On 2019-May-06, Bruce Momjian wrote:

> docs:  fist draft version of the PG 12 release notes

Hello, thanks for doing this work once again.

Typo in surname: "Golgov" is Dolgov.

This entry:
  Allow foreign keys to reference partitioned tables (Alvaro Herrera)
says "LIMITATIONS?" but I don't think there are any of significance.
You can now reference unique/PKs that appear in partitioned tables,
period.  Just remove the LIMITATIONS should do it ;-)

This is a bit misleading:

    Remove the special behavior of OID columns (Andres Freund, John Naylor)

    Previously, a normally-invisible OID column could be specified
    during table creation using WITH OIDS; that ability has been
    removed. Columns can still be explicitly specified as type OID.
    pg_dump and pg_upgrade operations on databases using WITH OIDS will
    need adjustment. Many system tables now have an 'oid' column that
    will be expanded with SELECT * by default.

"databases using WITH OIDS will need adjustment".  In reality, many
databases carried over by pg_upgrade from old versions will need
adjustment, since old tables had oids by default.  This could be more
troublesome than the current wording suggest.  Maybe use something like
"... operations on databases containing tables with the oid system
column will need adjustment", so that users have to research whether
they have them or not.  If we only say WITH OIDS then people will think
they've never used that clause so they must not worry.


    Specify a range of oids (9000-9999) to be used for external
    extensions (Andres Freund)

I'm not sure that "specify" is the right verb to use for this one.
Nothing better comes to mind ATM ...

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Tatsuo Ishii
Дата:
------------------------------
<para>
Move recovery.conf settings into postgresql.conf (Fujii Masao, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
</para>

<para>
recovery.conf is no longer used, and recovery.signal and standby.signal are used to switch into non-primary mode.
trigger_file has been renamed to promote_trigger_file.  The standby_mode setting has been removed.
</para>
------------------------------

In addition to these, I think it would be better to warn that if
there's a file named "recovery.conf" on stabdby node, postmaster won't
start up:

21909 2019-05-09 07:55:55 JST FATAL:  using recovery command file "recovery.conf" is not supported
21907 2019-05-09 07:55:55 JST LOG:  startup process (PID 21909) exited with exit code 1
21907 2019-05-09 07:55:55 JST LOG:  aborting startup due to startup process failure
21907 2019-05-09 07:55:55 JST LOG:  database system is shut down

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Tue, May  7, 2019 at 09:44:54AM +0530, Amit Kapila wrote:
> On Tue, May 7, 2019 at 5:00 AM Bruce Momjian <bruce@momjian.us> wrote:
> >
> > On Mon, May  6, 2019 at 07:03:39PM -0400, Bruce Momjian wrote:
> > > On Mon, May  6, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> > > > docs:  fist draft version of the PG 12 release notes
> > > >
> > > > Still needs text markup, links, word wrap, and indenting.
> > >
> > > You can see the browser version at:
> > >
> >
> > Sorry, this is a better URL:
> >
> >         http://momjian.us/pgsql_docs/release-12.html
> >
> 
> Can you please remove below entry from release notes?
> 
> Avoid creation of the free space map files for small table (John
> Naylor, Amit Kapila)
> 
> Such files are not useful.
> 
> I have reverted this feature for this release.  We might try it for
> the next release.

Done:

    http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Tue, May  7, 2019 at 09:08:06PM +1200, Thomas Munro wrote:
> On Tue, May 7, 2019 at 11:02 AM Bruce Momjian <bruce@momjian.us> wrote:
> > https://git.postgresql.org/pg/commitdiff/bdf595adbca195fa54a909c74a5233ebc30641a1
> 
> > +Use pread() and pwrite() for random I/O (Thomas Munro)
> 
> Hi Bruce,
> 
> For this one, can we please add Oskari Saarenmaa as first author, and
> keep me as second?

Done:

        http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Tue, May  7, 2019 at 02:38:39PM +0100, Andrew Gierth wrote:
> >>>>> "Bruce" == Bruce Momjian <bruce@momjian.us> writes:
> 
>  Bruce> docs:  fist draft version of the PG 12 release notes
>  Bruce> Still needs text markup, links, word wrap, and indenting.
> 
> The floating-point output change probably needs to be called out as a
> compatibility issue, not just a performance enhancement.

Done:

        http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Wed, May  8, 2019 at 10:43:00AM +0900, Amit Langote wrote:
> I think there may be two (or more) distinct improvements here.
> 
> * Performance of "pruning" itself which was bottle-necked in the planner
> is improved mostly due to:
> 
> +Author: Tom Lane <tgl@sss.pgh.pa.us>
> +2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at
> plan
> 
> * Also improved is the performance of inserting small number of rows into
> partitioned tables which was bottle-necked in the executor because tuple
> routing would do some redundant processing per statement.  The
> improvements are due to:
> 
> +Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
> +2018-11-16 [3f2393ede] Redesign initialization of partition routing
> structures
> +Author: Robert Haas <rhaas@postgresql.org>
> +2019-02-21 [9eefba181] Delay lock acquisition for partitions until we
> route a t
> 
> * AFAICT, the following two commits don't seem to have much to do with
> improving the performance of pruning, although they are good improvements
> in their own right.
> 
> +Author: Tom Lane <tgl@sss.pgh.pa.us>
> +2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning
> ordered
> 
> My summary of this optimization is that with it we can avoid paying the
> cost of merging the ordered partition outputs if partitions are determined
> to be ordered among themselves (for example, range partitions).
> 
> +Author: Tom Lane <tgl@sss.pgh.pa.us>
> +2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after
> pruni
> 
> My summary of this commit is that planner now correctly considers the
> effect of partition pruning on cost calculations, whereas previously it
> might end up making poor plan choices because it didn't subtract the pages
> of pruned partitions from the total_table_pages global counter.

So, in this case, there were so many partitioning improvements, I just
lumped them into one item.  I think everyone can consider partitions to
perform much better in PG 12.  Is there something more specific we
should communicate here?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Wed, May  8, 2019 at 03:45:34PM +0300, Oleg Bartunov wrote:
> On Tue, May 7, 2019 at 2:02 AM Bruce Momjian <bruce@momjian.us> wrote:
> >
> > docs:  fist draft version of the PG 12 release notes
> >
> > Still needs text markup, links, word wrap, and indenting.
> 
> "This allows JSON values to be selected using an SQL-standard language."
> better
> "This allows to execute complex queries on JSON values using an
> SQL-standard language."
> 
>  I think it is a "big item" !

Done:

        http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Wed, May  8, 2019 at 10:09:19PM +0900, Michael Paquier wrote:
> On Mon, May 06, 2019 at 11:02:37PM +0000, Bruce Momjian wrote:
> > docs:  fist draft version of the PG 12 release notes
> > 
> > Still needs text markup, links, word wrap, and indenting.
> 
> I have noticed a duplicated word:
> $ git grep "new new"
> doc/src/sgml/release-12.sgml:Update unaccent rules with new new
> punctuation and symbols (Hugh Ranalli, Michael Paquier)

Fixed:

        http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.



-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Wed, May  8, 2019 at 04:20:40PM -0400, Alvaro Herrera wrote:
> On 2019-May-06, Bruce Momjian wrote:
> 
> > docs:  fist draft version of the PG 12 release notes
> 
> Hello, thanks for doing this work once again.
> 
> Typo in surname: "Golgov" is Dolgov.

Yes, it was "Golgov" in one commint and "Dolgov" in another;  I change
it to "Dolgov".

> This entry:
>   Allow foreign keys to reference partitioned tables (Alvaro Herrera)
> says "LIMITATIONS?" but I don't think there are any of significance.
> You can now reference unique/PKs that appear in partitioned tables,
> period.  Just remove the LIMITATIONS should do it ;-)

Done.

> This is a bit misleading:
> 
>     Remove the special behavior of OID columns (Andres Freund, John Naylor)
> 
>     Previously, a normally-invisible OID column could be specified
>     during table creation using WITH OIDS; that ability has been
>     removed. Columns can still be explicitly specified as type OID.
>     pg_dump and pg_upgrade operations on databases using WITH OIDS will
>     need adjustment. Many system tables now have an 'oid' column that
>     will be expanded with SELECT * by default.
> 
> "databases using WITH OIDS will need adjustment".  In reality, many
> databases carried over by pg_upgrade from old versions will need
> adjustment, since old tables had oids by default.  This could be more
> troublesome than the current wording suggest.  Maybe use something like
> "... operations on databases containing tables with the oid system
> column will need adjustment", so that users have to research whether
> they have them or not.  If we only say WITH OIDS then people will think
> they've never used that clause so they must not worry.

Yes, I reworded it:

        http://momjian.us/pgsql_docs/release-12.html
> 
>     Specify a range of oids (9000-9999) to be used for external
>     extensions (Andres Freund)
> 
> I'm not sure that "specify" is the right verb to use for this one.
> Nothing better comes to mind ATM ...

I used "Reserve".

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Thu, May  9, 2019 at 07:58:00AM +0900, Tatsuo Ishii wrote:
> ------------------------------
> <para>
> Move recovery.conf settings into postgresql.conf (Fujii Masao, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
> </para>
> 
> <para>
> recovery.conf is no longer used, and recovery.signal and standby.signal are used to switch into non-primary mode.
> trigger_file has been renamed to promote_trigger_file.  The standby_mode setting has been removed.
> </para>
> ------------------------------
> 
> In addition to these, I think it would be better to warn that if
> there's a file named "recovery.conf" on stabdby node, postmaster won't
> start up:
> 
> 21909 2019-05-09 07:55:55 JST FATAL:  using recovery command file "recovery.conf" is not supported
> 21907 2019-05-09 07:55:55 JST LOG:  startup process (PID 21909) exited with exit code 1
> 21907 2019-05-09 07:55:55 JST LOG:  aborting startup due to startup process failure
> 21907 2019-05-09 07:55:55 JST LOG:  database system is shut down

Good point, done:

        http://momjian.us/pgsql_docs/release-12.html

Sorry for the delay.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +




Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Tatsuo Ishii
Дата:
> On Thu, May  9, 2019 at 07:58:00AM +0900, Tatsuo Ishii wrote:
>> ------------------------------
>> <para>
>> Move recovery.conf settings into postgresql.conf (Fujii Masao, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
>> </para>
>> 
>> <para>
>> recovery.conf is no longer used, and recovery.signal and standby.signal are used to switch into non-primary mode.
>> trigger_file has been renamed to promote_trigger_file.  The standby_mode setting has been removed.
>> </para>
>> ------------------------------
>> 
>> In addition to these, I think it would be better to warn that if
>> there's a file named "recovery.conf" on stabdby node, postmaster won't
>> start up:
>> 
>> 21909 2019-05-09 07:55:55 JST FATAL:  using recovery command file "recovery.conf" is not supported
>> 21907 2019-05-09 07:55:55 JST LOG:  startup process (PID 21909) exited with exit code 1
>> 21907 2019-05-09 07:55:55 JST LOG:  aborting startup due to startup process failure
>> 21907 2019-05-09 07:55:55 JST LOG:  database system is shut down
> 
> Good point, done:
> 
>         http://momjian.us/pgsql_docs/release-12.html

Confirmed.

> Sorry for the delay.

No problem. Thank you!
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Amit Langote
Дата:
On 2019/05/10 5:57, Bruce Momjian wrote:
> So, in this case, there were so many partitioning improvements, I just
> lumped them into one item.  I think everyone can consider partitions to
> perform much better in PG 12.  Is there something more specific we
> should communicate here?

So the current text, which is:

+<para>
+Improve performance of pruning many partitions (Amit Langote, David
Rowley, Tom Lane, Álvaro Herrera)
+</para>
+
+<para>
+Now thousands of partitions can be pruned efficiently.
+</para>
+</listitem>

mentions improving "pruning" efficiency which applies only to
SELECT/UPDATE/DELETE queries and can be attributed to only one of the many
commits listed with this item.  Performance of short INSERTs (as opposed
to bulk-inserts including COPY) is also improved, but it has nothing to do
"pruning".

That said, efficiency is improved in both cases by not doing redundant
work for partitions that are not affected by the query, that is,

* for partitions which are pruned for a given SELECT/UPDATE/DELETE query
(planner improvement)

* for partitions which are not inserted into by a given INSERT statement
(executor improvement, part of which was done in v11 but v11 still locks
*all* partitions whereas v12 will only lock those that are inserted into)


So, it might be fair to lump them, but maybe not use the word "pruning",
because it describes only subset of affected workloads.

Does that help?

Thanks,
Amit




Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Alexander Korotkov
Дата:
+<listitem>
+<!--
+Author: Alexander Korotkov <akorotkov@postgresql.org>
+2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during
+Author: Peter Geoghegan <pg@bowt.ie>
+2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization.
+Author: Peter Geoghegan <pg@bowt.ie>
+2019-04-23 [9b1092626] Prevent O(N^2) unique index insertion edge case.
+-->
+
+<para>
+Improve speed of btree index insertions (Alexander Korotkov, Peter Geoghegan)
+</para>

If we group these very heterogeneous together, then Peter's name
probably should go first.  Because he authored two quite complex
optimization, while my one is rather simple.

+<para>
+ LOOKUP, INDEX CLEANUP IMPROVEMENTS?
+</para>
+</listitem>

Hmm... What is this paragraph supposed to mean?  Did you have an idea
to group more commit into this item?

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Peter Geoghegan
Дата:
On Thu, May 9, 2019 at 8:21 PM Alexander Korotkov
<a.korotkov@postgrespro.ru> wrote:
> If we group these very heterogeneous together, then Peter's name
> probably should go first.  Because he authored two quite complex
> optimization, while my one is rather simple.

I posted a patch over on the "pg12 release notes" thread. It suggested
some changes to the draft release notes, including making your
optimization into its own item that you alone are credited with.

-- 
Peter Geoghegan



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Alexander Korotkov
Дата:
On Fri, May 10, 2019 at 6:28 AM Peter Geoghegan <pg@bowt.ie> wrote:
> On Thu, May 9, 2019 at 8:21 PM Alexander Korotkov
> <a.korotkov@postgrespro.ru> wrote:
> > If we group these very heterogeneous together, then Peter's name
> > probably should go first.  Because he authored two quite complex
> > optimization, while my one is rather simple.
>
> I posted a patch over on the "pg12 release notes" thread. It suggested
> some changes to the draft release notes, including making your
> optimization into its own item that you alone are credited with.

Oh, I've missed that.  Your patch looks good to me.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Fri, May 10, 2019 at 06:21:27AM +0300, Alexander Korotkov wrote:
> +<listitem>
> +<!--
> +Author: Alexander Korotkov <akorotkov@postgresql.org>
> +2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during
> +Author: Peter Geoghegan <pg@bowt.ie>
> +2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization.
> +Author: Peter Geoghegan <pg@bowt.ie>
> +2019-04-23 [9b1092626] Prevent O(N^2) unique index insertion edge case.
> +-->
> +
> +<para>
> +Improve speed of btree index insertions (Alexander Korotkov, Peter Geoghegan)
> +</para>
> 
> If we group these very heterogeneous together, then Peter's name
> probably should go first.  Because he authored two quite complex
> optimization, while my one is rather simple.

Done.

> +<para>
> + LOOKUP, INDEX CLEANUP IMPROVEMENTS?
> +</para>
> +</listitem>
> 
> Hmm... What is this paragraph supposed to mean?  Did you have an idea
> to group more commit into this item?

Please see the other thread where I used Peter's detail text.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Fri, May 10, 2019 at 10:54:32AM +0900, Amit Langote wrote:
> On 2019/05/10 5:57, Bruce Momjian wrote:
> > So, in this case, there were so many partitioning improvements, I just
> > lumped them into one item.  I think everyone can consider partitions to
> > perform much better in PG 12.  Is there something more specific we
> > should communicate here?
> 
> So the current text, which is:
> 
> +<para>
> +Improve performance of pruning many partitions (Amit Langote, David
> Rowley, Tom Lane, Álvaro Herrera)
> +</para>
> +
> +<para>
> +Now thousands of partitions can be pruned efficiently.
> +</para>
> +</listitem>
> 
> mentions improving "pruning" efficiency which applies only to
> SELECT/UPDATE/DELETE queries and can be attributed to only one of the many
> commits listed with this item.  Performance of short INSERTs (as opposed
> to bulk-inserts including COPY) is also improved, but it has nothing to do
> "pruning".
> 
> That said, efficiency is improved in both cases by not doing redundant
> work for partitions that are not affected by the query, that is,
> 
> * for partitions which are pruned for a given SELECT/UPDATE/DELETE query
> (planner improvement)
> 
> * for partitions which are not inserted into by a given INSERT statement
> (executor improvement, part of which was done in v11 but v11 still locks
> *all* partitions whereas v12 will only lock those that are inserted into)
> 
> 
> So, it might be fair to lump them, but maybe not use the word "pruning",
> because it describes only subset of affected workloads.

I struggled to talk about partitioning since there were so many
improvements.  I favored a more generic item that just suggested
dramatic improvements.  I have modified the text to:

    Improve performance of many operations on partitioned tables (Amit
    Langote, David Rowley, Tom Lane, Álvaro Herrera)
    
    Also, thousands of partitions can now be pruned efficiently.

Committed.  Does that work?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Amit Langote
Дата:
On 2019/05/11 10:25, Bruce Momjian wrote:
> I struggled to talk about partitioning since there were so many
> improvements.  I favored a more generic item that just suggested
> dramatic improvements.  I have modified the text to:
> 
>     Improve performance of many operations on partitioned tables (Amit
>     Langote, David Rowley, Tom Lane, Álvaro Herrera)
>     
>     Also, thousands of partitions can now be pruned efficiently.
> 
> Committed.

Thanks.

> Does that work?

That's better, but the second line still just mentions pruning efficiency.
 It's true that pruning large number of partitions got a lot quicker in
this release, but that is by no means the only improvement.  How about
writing:

  Thousands of partitions can now be pruned efficiently.  Also, inserting
  into partitioned tables no longer slows down as the number of partitions
  increases.

or some such.

Also, as David said on -advocacy [1] regarding pruning, it's not really
that the core "pruning" algorithm itself was improved in this release.
Speed-up came from reworking planner's (and to some extent executor's) use
of the pruning functionality to be more efficient.  But maybe it's fine to
use the word "pruning" in the release notes to indicate that this speedup
is only meaningful workloads that benefit from it.

Thanks,
Amit

[1]
https://www.postgresql.org/message-id/CAKJS1f-1%3DBoVkJaTnfb87nrVUFLprdc7smsBsF5MGyCXnNivzw%40mail.gmail.com




Re: pgsql: docs: fist draft version of the PG 12 release notes

От
Bruce Momjian
Дата:
On Mon, May 13, 2019 at 04:01:36PM +0900, Amit Langote wrote:
> On 2019/05/11 10:25, Bruce Momjian wrote:
> > I struggled to talk about partitioning since there were so many
> > improvements.  I favored a more generic item that just suggested
> > dramatic improvements.  I have modified the text to:
> > 
> >     Improve performance of many operations on partitioned tables (Amit
> >     Langote, David Rowley, Tom Lane, Álvaro Herrera)
> >     
> >     Also, thousands of partitions can now be pruned efficiently.
> > 
> > Committed.
> 
> Thanks.
> 
> > Does that work?
> 
> That's better, but the second line still just mentions pruning efficiency.
>  It's true that pruning large number of partitions got a lot quicker in
> this release, but that is by no means the only improvement.  How about
> writing:
> 
>   Thousands of partitions can now be pruned efficiently.  Also, inserting
>   into partitioned tables no longer slows down as the number of partitions
>   increases.
> 
> or some such.

I went with this wording:

    Tables with thousands of child partitions can now be processed
    efficiently.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +