PG 14 release notes, first draft

Started by Bruce Momjianalmost 5 years ago173 messageshackers
Jump to latest
#1Bruce Momjian
bruce@momjian.us

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I plan to work on completing this document this coming week in
preparation for beta next week.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Mon, 2021-05-10 at 02:03 -0400, Bruce Momjian wrote:

When using \e in psql, if the buffer is not modified by the editor, ignore the editor contents and leave the buffer unchanged (Laurenz Albe)
The \ef and \ev commands also now have this behavior. DOCS SAY BUFFER IS CLEARED.

It's a bit more complicated: If you edit the current buffer with \e, the buffer is
unchanged if you quit the editor.
However, if you edit the previous statement, a file or the definition of a function
or view, the query buffer is cleared if you quit the editor without saving.

Suggested wording:

When editing anything else than the current query buffer with \e, and you quit
the editor, the query buffer is cleared. This makes the behavior less surprising
and prevents the unintended re-execution of the previous statement.

Yours,
Laurenz Albe

#3Julien Rouhaud
rjuju123@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 02:03:08AM -0400, Bruce Momjian wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

There's a small typo:

+Improve tab completion (Vignesh C,, Michael [...]

(duplicated comma)

Also

+<para>
+Avoid retrieval of CHECK constraints and DEFAULT exprs in data-only dump (Julien Rouhaud)
+</para>
+
+<para>
+IS THIS BACKWARD INCOMPATIBLE?
+</para>
+</listitem>

The new behavior doesn't have any impact on the generated dump, as the
modification is to avoid retrieving data that won't be used.

For users, it only means maybe slight faster pg_dump execution, or slightly
better change to be able to run a pg_dump --data-only if pg_constraint is
corrupted but not the rest of the user data, so maybe it's not necessary to
mention that in the release notes?

#4Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 3:03 PM Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

Thank you!

Add system view pg_stat_replication_slots to report replication slot activity (Sawada Masahiko, Amit Kapila)

Function pg_stat_reset_replication_slot() resets slot statistics. THIS IS LOGICAL ONLY, BUT NO "LOGICAL" IN THE NAME?

IIUC pg_stat_replication_slots view supports only logical slot for
now. But we might have it show also physical slot in the future. I'm
fine with the current view name and description but someone might want
to use "logical replication slot" instead of just "replication slot".

IS "ACTIVITY" THE RIGHT WORD?

The doc says "The pg_stat_replication_slots view will contain one row
per logical replication slot, showing statistics about its usage.". So
we can say "... to report replication slot statistics about its
usage".

Regards,

--
Masahiko Sawada
EDB: https://www.enterprisedb.com/

#5David Rowley
dgrowleyml@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Mon, 10 May 2021 at 18:03, Bruce Momjian <bruce@momjian.us> wrote:

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

Thanks for drafting that up.

Add executor method to cache results from the inner-side of joins (David Rowley)

I think it would be more accurate to say "inner-side of nested loop joins".

Allow efficient retrieval of heap rows via tid (Edmund Horner, David Rowley)

I'd say we already had that feature with TID Scan. Maybe it would be
better to write:

"Allow efficient heap scanning on ranges of tids (Edmund Horner, David Rowley)"

Improve the performance of parallel sequential scans (Thomas Munro, David Rowley)

I think it is worth mentioning "I/O" before "performance". This
change won't really help cases if all the table's pages are already in
shared buffers.

David

#6Matthias van de Meent
boekewurm+postgres@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Mon, 10 May 2021 at 08:03, Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:
https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I noticed that the improvement in bloat control in the HeapAM that I
know of (3c3b8a4b, 0ff8bbde) weren't documented here. Although each
can be considered minor, they together can decrease the bloating
behaviour of certain workloads significantly (and limit the total
damage), and in my opinion this should be mentioned.

3c3b8a4b: Returns space claimed for the line pointer array back to the
page's empty space, so that it can also be used for tuple data.

0ff8bbde: Allows large tuples to be inserted on pages which have only
a small amount of data, regardless of fillfactor.

Together they should be able to help significantly in both bloat
prevention and bloat reduction.

I plan to work on completing this document this coming week in
preparation for beta next week.

Thanks!

With regards,

Matthias van de Meent

#7Joe Conway
mail@joeconway.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On 5/10/21 2:03 AM, Bruce Momjian wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I plan to work on completing this document this coming week in
preparation for beta next week.

While only a small change, this commit does affect user visible behavior
and so should probably be noted:

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b12bd4869b5e

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development

#8Alexander Korotkov
aekorotkov@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

Hi, Bruce!

On Mon, May 10, 2021 at 9:03 AM Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I plan to work on completing this document this coming week in
preparation for beta next week.

Thank you very much for your work!

Let me provide a missing description for the items related to me.

* Improve handling of compound words in to_tsquery() and
websearch_to_tsquery() (Alexander Korotkov)
Compound words are now transformed into parts connected with phrase
search operators. For example, to_tsquery('pg_class') becomes 'pg <->
class' instead of 'pg & class'. This eliminates bug of handling
compound words connected with the phrase operator and makes the search
of compound words more strict.

* Fix extra distance in phrase operators for quoted text in
websearch_to_tsquery() (Alexander Korotkov)
For example, websearch_to_tsquery('english', '"aaa: bbb"') becomes
'aaa <> bbb' instead of 'aaa <2> bbb'.

Feel free to make stylistic and other corrections if needed.

------
Regards,
Alexander Korotkov

#9Ian Lawrence Barwick
barwick@gmail.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

2021年5月10日(月) 15:03 Bruce Momjian <bruce@momjian.us>:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I plan to work on completing this document this coming week in
preparation for beta next week.

This misses the change of default value, and is a bit unclear:

Remove password_encryption's support for boolean values, e.g. true (Peter Eisentraut)

Previous boolean values enabled md5. Now, only the md5 string does this.

I'd suggest something along these lines:

The default for password_encryption is now "scram-sha-256" (Peter Eisentraut)

The pseudo-boolean values "true", "on", "yes" and "1" are no longer accepted as an alias for "md5".

(It hasn't been a true boolean setting since Pg 9.6).

Regards

Ian Barwick

--
EnterpriseDB: https://www.enterprisedb.com

#10Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

Thanks for putting it together.

I think these two should be merged:
| Remove containment operators @ and ~ from contrib modules cube, hstore, intarray, and seg (Justin Pryzby)
| Remove deprecated containment operators for built-in geometry data types (Justin Pryzby)

| Improve autovacuum's analyze of partitioned tables (Yuzuko Hosoya)
| DETAILS?

Should say: Autovacuum now analyzes partitioned tables.

| The server variable check_client_connection_interval allows supporting operating systems, e.g., Linux, to automatically cancel queries by disconnected clients.
The GUC is actually called client_connection_check_interval - the commit
message used the wrong name.

| This is particularly helpful for reducing index bloat on tables that frequently update indexed columns.
Does it mean "..where indexed columns are frequently updated"?

| Allow multiple foreign table scans to be run in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita)
I think it means multiple foreight table scan *nodes*

| If server variable compute_query_id is enabled, display the hash in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in log_line_prefix (Julien Rouhaud)
I think needs details, like: "If disabled, then the hash might be computed by
an extension, instead".

Later, you say:
| Extension pg_stat_statements will need to enable hash computation via the compute_query_id server variable to function properly. pg_stat_statements can now use a custom hash computation method.
Maybe it should say "will need hash computation to be enabled".

| Allow more than the common name (CN) to be matched for client certificate authentication (Andrew Dunstan)
Your description makes it sound like arbitrary attributes can be compared. But
the option just allows comparing CN or DN.

| Allow file system sync at the start of crash recovery on Linux (Thomas Munro)
I think this should describe the existing, default behavior:
Allow syncfs method to sync data directory during recovery;
The default behavior is to open and fsync every data file, and the new setting
recovery_init_sync_method=syncfs instead syncs each filesystem in the data
directory.

| Add date_bin function (John Naylor)
This truncate timestamps on an arbitrary interval.
Like date_trunc() but also supports eg. '15 minutes', and also uses an arbitrary "origin".

| Support negative indexes in split_part() (Nikhil Benesch)
| Negative values count from the last field going forward.
should say "start from the last field and count backward" ?

| Add configure option --with-openssl to behave like --with-ssl={openssl} (Daniel Gustafsson, Michael Paquier)
| The option --with-openssl is kept for compatibility.
I think this is backwards. The new option is with-ssl=openssl, and (as you
said) with-openssl is kept.

Should these be in the "compatibility" section?

| Force custom server variable names to match the pattern used for unquoted SQL identifiers (Tom Lane)

| Change password_encryption's default to scram-sha-256 (Peter Eisentraut)

| Change checkpoint_completion_target default to 0.9 (Stephen Frost)

| Reduce the default value of vacuum_cost_page_miss (Peter Geoghegan)

Nitpicks to follow:

| Allow some GiST index to be built by presorting the data (Andrey Borodin)
indexes

| with --with-lz4 support to enable this feature
I would change to say "to support" rather than "support to enable"

| Speed truncation of small tables on large shared buffer servers (Kirk Jamison)
"on servers with large settings of shared_buffers"

| Allow windowing functions to perform incremental sorts (David Rowley)
Just "window" functions

| Improve pg_stat_activity reporting for walsenders processes (Tom Lane)
walsender

| Previously these functions could only be executed by super-users, and still defaults do that.
..which is still the default behavior.

| This allows multiple queries to be send and only wait for completion when a specific synchronization message is sent.
be sent

| Enhance libpq libpq's target_session_attrs parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane)
remove first "libpq"

| With the removal of the ! operator in this release, factorial() is the only built-in way to computer a factorial.
compute

| For example, GROUP BY CUBE (a,b), CUBE (b,c) will generated duplicate grouping combinations without DISTINCT.

will generate

| Allow VACUUM VERBOSE to report page deletion counts for each scan of an index (Peter Geoghegan)

I think "Allow" is wrong - should just say that VACUUM VERBOSE reports..

|By default, only the root of partitioned tables are imported.
*is* imported

Can these be merged:
Allow logical replication to stream long transactions to standbys (Dilip Kumar, Tomas Vondra, Amit Kapila, Nikhil Sontakke)
Improve the logical replication API to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila)

#11Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

Same as the last couple years, I checked for missing items in the release
notes, running something like this.

git log --cherry-pick --oneline origin/REL_13_STABLE...origin/master

Should any of these be included?

f82de5c46b Do COPY FROM encoding conversion/verification in larger chunks.
9e596b65f4 Add "LP_DEAD item?" column to GiST pageinspect functions

10a5b35a00 Report resource usage at the end of recovery
7e453634bb Add additional information in the vacuum error context.
1ea396362b Improve logging of bad parameter values in BIND messages.

86dc90056d Rework planning and execution of UPDATE and DELETE.
a1115fa078 Postpone some more stuff out of ExecInitModifyTable.
c5b7ba4e67 Postpone some stuff out of ExecInitModifyTable.

7db0cd2145 Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE
01e658fa74 Hash support for row types
a929e17e5a Allow run-time pruning on nested Append/MergeAppend nodes
8c15a29745 Allow ALTER TYPE to update an existing type's typsubscript value.
c7aba7c14e Support subscripting of arbitrary types, not only arrays.

7b94e99960 Remove catalog function currtid()
926fa801ac Remove undocumented IS [NOT] OF syntax.
cd9c1b3e19 Rename PGPROC->vacuumFlags to statusFlags
a04daa97a4 Remove es_result_relation_info from EState.

3d351d916b Redefine pg_class.reltuples to be -1 before the first VACUUM or ANALYZE.
fea10a6434 Rename VariableCacheData.nextFullXid to nextXid.
9de9294b0c Stop archive recovery if WAL generated with wal_level=minimal is found. (see also 15251c0a6)

f40c6969d0 Routine usage information schema tables

b4af70cb21 Simplify state managed by VACUUM.
4753ef37e0 Use a WaitLatch for vacuum/autovacuum sleeping
9dd963ae25 Recycle nbtree pages deleted during same VACUUM.
3c3b8a4b26 Truncate line pointer array during VACUUM.

ad1c36b070 Fix foreign-key selectivity estimation in the presence of constants.

In reply to: Bruce Momjian (#1)
Re: PG 14 release notes, first draft

On Sun, May 9, 2021 at 11:03 PM Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes.

This definitely isn't necessary, since the commit in question was a
totally mechanical thing that cleaned up a minor inconsistency:

Initialize work_mem and maintenance_work_mem using current guc.c
default (Peter Geoghegan)

Oversight in commit 848ae330a49, which increased the previous defaults
for work_mem and maintenance_work_mem by 4X. IS THIS A BEHAVIORAL
CHANGE?

--
Peter Geoghegan

In reply to: Matthias van de Meent (#6)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 4:44 AM Matthias van de Meent
<boekewurm+postgres@gmail.com> wrote:

I noticed that the improvement in bloat control in the HeapAM that I
know of (3c3b8a4b, 0ff8bbde) weren't documented here. Although each
can be considered minor, they together can decrease the bloating
behaviour of certain workloads significantly (and limit the total
damage), and in my opinion this should be mentioned.

3c3b8a4b: Returns space claimed for the line pointer array back to the
page's empty space, so that it can also be used for tuple data.

0ff8bbde: Allows large tuples to be inserted on pages which have only
a small amount of data, regardless of fillfactor.

+1 on mentioning both things.

--
Peter Geoghegan

In reply to: Justin Pryzby (#10)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 7:00 AM Justin Pryzby <pryzby@telsasoft.com> wrote:

| Allow VACUUM VERBOSE to report page deletion counts for each scan of an index (Peter Geoghegan)

I think "Allow" is wrong - should just say that VACUUM VERBOSE reports..

It's also not accurate, since the count of deleted pages was always
shown by VACUUM VERBOSE (once per index scan). The new feature has us
show pages deleted by the VACUUM that actually ran (not some earlier
VACUUM) -- these are "newly deleted pages".

I don't think that this item is worth mentioning, though -- it's just
a nice to have. If Bruce removes it from the release notes entirely I
won't object.

In addition to the items that I commented on in my response to
Matthias just now, I should point out the following item as worthy of
inclusion:

9dd963ae25 Recycle nbtree pages deleted during same VACUUM.

I suggest that this item be phrased more or less as follows:

"Allow VACUUM to eagerly place newly deleted B-Tree pages in the Free
Space Map. Previously VACUUM could only place preexisting deleted
pages in the Free Space Map for recycling."

--
Peter Geoghegan

#15Bruce Momjian
bruce@momjian.us
In reply to: Laurenz Albe (#2)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 08:16:16AM +0200, Laurenz Albe wrote:

On Mon, 2021-05-10 at 02:03 -0400, Bruce Momjian wrote:

When using \e in psql, if the buffer is not modified by the editor, ignore the editor contents and leave the buffer unchanged (Laurenz Albe)
The \ef and \ev commands also now have this behavior. DOCS SAY BUFFER IS CLEARED.

It's a bit more complicated: If you edit the current buffer with \e, the buffer is
unchanged if you quit the editor.
However, if you edit the previous statement, a file or the definition of a function
or view, the query buffer is cleared if you quit the editor without saving.

Suggested wording:

When editing anything else than the current query buffer with \e, and you quit
the editor, the query buffer is cleared. This makes the behavior less surprising
and prevents the unintended re-execution of the previous statement.

OK, I figured it out. I was confused by \p because \? says:

test=> \?
Query Buffer
\e [FILE] [LINE] edit the query buffer (or file) with external editor
\ef [FUNCNAME [LINE]] edit function definition with external editor
\ev [VIEWNAME [LINE]] edit view definition with external editor
--> \p show the contents of the query buffer
\r reset (clear) the query buffer
...

but the documentaton says:

\p or \print
Print the current query buffer to the standard output. If
--> the current query buffer is empty, the most recently executed
--> query is printed instead.

I wasn't aware that \e loads the previous query if the buffer is empty.
I came up with this release note text:

<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-04-03 [55873a00e] Improve psql's behavior when the editor is exited withou
-->

<para>
When editing the previous query or a file with psql's \e, ignore the
contents if the editor exits without saving (Laurenz Albe)
</para>

<para>
Previously, editing the previous query or a file and not saving the
editor contents would still execute the editor contents. The \ef and
\ev commands also now have this behavior.
</para>
</listitem>

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#16Bruce Momjian
bruce@momjian.us
In reply to: Julien Rouhaud (#3)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 02:51:28PM +0800, Julien Rouhaud wrote:

On Mon, May 10, 2021 at 02:03:08AM -0400, Bruce Momjian wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

There's a small typo:

+Improve tab completion (Vignesh C,, Michael [...]

(duplicated comma)

Fixed.

Also

+<para>
+Avoid retrieval of CHECK constraints and DEFAULT exprs in data-only dump (Julien Rouhaud)
+</para>
+
+<para>
+IS THIS BACKWARD INCOMPATIBLE?
+</para>
+</listitem>

The new behavior doesn't have any impact on the generated dump, as the
modification is to avoid retrieving data that won't be used.

For users, it only means maybe slight faster pg_dump execution, or slightly
better change to be able to run a pg_dump --data-only if pg_constraint is
corrupted but not the rest of the user data, so maybe it's not necessary to
mention that in the release notes?

Thanks, removed.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#17Bruce Momjian
bruce@momjian.us
In reply to: Masahiko Sawada (#4)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 05:28:24PM +0900, Masahiko Sawada wrote:

On Mon, May 10, 2021 at 3:03 PM Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:

https://momjian.us/pgsql_docs/release-14.html

Thank you!

Add system view pg_stat_replication_slots to report replication slot activity (Sawada Masahiko, Amit Kapila)

Function pg_stat_reset_replication_slot() resets slot statistics. THIS IS LOGICAL ONLY, BUT NO "LOGICAL" IN THE NAME?

IIUC pg_stat_replication_slots view supports only logical slot for
now. But we might have it show also physical slot in the future. I'm
fine with the current view name and description but someone might want
to use "logical replication slot" instead of just "replication slot".

OK, I was just confirming we are happy with the name.

IS "ACTIVITY" THE RIGHT WORD?

The doc says "The pg_stat_replication_slots view will contain one row
per logical replication slot, showing statistics about its usage.". So
we can say "... to report replication slot statistics about its
usage".

OK, I think I prefer "activity" so will just keep that.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#18Bruce Momjian
bruce@momjian.us
In reply to: David Rowley (#5)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 08:52:44PM +1200, David Rowley wrote:

On Mon, 10 May 2021 at 18:03, Bruce Momjian <bruce@momjian.us> wrote:

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

Thanks for drafting that up.

Add executor method to cache results from the inner-side of joins (David Rowley)

I think it would be more accurate to say "inner-side of nested loop joins".

OK, thanks. I suspected that was true.

Allow efficient retrieval of heap rows via tid (Edmund Horner, David Rowley)

I'd say we already had that feature with TID Scan. Maybe it would be
better to write:

"Allow efficient heap scanning on ranges of tids (Edmund Horner, David Rowley)"

I went with:

Allow efficient heap scanning of a range of tids (Edmund Horner,
David Rowley)

Improve the performance of parallel sequential scans (Thomas Munro, David Rowley)

I think it is worth mentioning "I/O" before "performance". This
change won't really help cases if all the table's pages are already in
shared buffers.

I went with:

Improve the performance of parallel sequential I/O scans (Thomas Munro,
David Rowley)

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#19Bruce Momjian
bruce@momjian.us
In reply to: Matthias van de Meent (#6)
Re: PG 14 release notes, first draft

On Mon, May 10, 2021 at 01:44:12PM +0200, Matthias van de Meent wrote:

On Mon, 10 May 2021 at 08:03, Bruce Momjian <bruce@momjian.us> wrote:

I have committed the first draft of the PG 14 release notes. You can
see the most current build of them here:
https://momjian.us/pgsql_docs/release-14.html

I need clarification on many items, and the document still needs its
items properly ordered, and markup added. I also expect a lot of
feedback.

I noticed that the improvement in bloat control in the HeapAM that I
know of (3c3b8a4b, 0ff8bbde) weren't documented here. Although each
can be considered minor, they together can decrease the bloating
behaviour of certain workloads significantly (and limit the total
damage), and in my opinion this should be mentioned.

3c3b8a4b: Returns space claimed for the line pointer array back to the
page's empty space, so that it can also be used for tuple data.

0ff8bbde: Allows large tuples to be inserted on pages which have only
a small amount of data, regardless of fillfactor.

Together they should be able to help significantly in both bloat
prevention and bloat reduction.

I looked at those items. I try to mention performance items that enable
new workloads or require some user action to benefit from it. I am not
sure these two qualify, but can others comments? Thanks.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#20Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Bruce Momjian (#15)
Re: PG 14 release notes, first draft

On Mon, 2021-05-10 at 12:38 -0400, Bruce Momjian wrote:

I came up with this release note text:

<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-04-03 [55873a00e] Improve psql's behavior when the editor is exited withou
-->

<para>
When editing the previous query or a file with psql's \e, ignore the
contents if the editor exits without saving (Laurenz Albe)
</para>

<para>
Previously, editing the previous query or a file and not saving the
editor contents would still execute the editor contents. The \ef and
\ev commands also now have this behavior.
</para>
</listitem>

Thanks, that looks much better.

The second paragraph starts describing the previous behavior, but the second
sentence details on the changes. Perhaps it would be better to put that into
the first paragraph:

<para>
When editing the previous query or a file with psql's \e, or when a
view or function definition are edited with \ev or \ef, ignore the
contents if the editor exits without saving (Laurenz Albe)
</para>

<para>
Previously, editing the previous query or a file and not saving the
editor contents would still execute the editor contents.
</para>

Yours,
Laurenz Albe

#21Bruce Momjian
bruce@momjian.us
In reply to: Laurenz Albe (#20)
#22John Naylor
john.naylor@enterprisedb.com
In reply to: Bruce Momjian (#1)
#23Matthias van de Meent
boekewurm+postgres@gmail.com
In reply to: Bruce Momjian (#19)
#24Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#13)
In reply to: Bruce Momjian (#24)
#26David Rowley
dgrowleyml@gmail.com
In reply to: Bruce Momjian (#18)
#27Bruce Momjian
bruce@momjian.us
In reply to: Joe Conway (#7)
#28Bruce Momjian
bruce@momjian.us
In reply to: David Rowley (#26)
#29Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#25)
#30Bruce Momjian
bruce@momjian.us
In reply to: Alexander Korotkov (#8)
#31Bruce Momjian
bruce@momjian.us
In reply to: Ian Lawrence Barwick (#9)
#32Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Justin Pryzby (#11)
In reply to: Bruce Momjian (#29)
#34Amit Kapila
amit.kapila16@gmail.com
In reply to: Justin Pryzby (#10)
#35Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Bruce Momjian (#21)
#36Alexander Korotkov
aekorotkov@gmail.com
In reply to: Bruce Momjian (#30)
#37Joe Conway
mail@joeconway.com
In reply to: Bruce Momjian (#27)
#38Jonathan S. Katz
jkatz@postgresql.org
In reply to: Amit Kapila (#34)
#39Justin Pryzby
pryzby@telsasoft.com
In reply to: Justin Pryzby (#10)
#40Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#10)
#41Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#33)
#42Bruce Momjian
bruce@momjian.us
In reply to: Joe Conway (#37)
#43Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#1)
#44Joe Conway
mail@joeconway.com
In reply to: Bruce Momjian (#42)
#45Bruce Momjian
bruce@momjian.us
In reply to: Joe Conway (#44)
#46Joe Conway
mail@joeconway.com
In reply to: Bruce Momjian (#45)
#47Bruce Momjian
bruce@momjian.us
In reply to: Joe Conway (#46)
#48Joe Conway
mail@joeconway.com
In reply to: Bruce Momjian (#47)
#49Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#48)
#50Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#49)
#51Bruce Momjian
bruce@momjian.us
In reply to: Alexander Korotkov (#36)
#52Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#14)
In reply to: Bruce Momjian (#52)
#54Bruce Momjian
bruce@momjian.us
In reply to: Amit Kapila (#34)
#55Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#14)
#56Bruce Momjian
bruce@momjian.us
In reply to: Jonathan S. Katz (#38)
#57Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#39)
#58Jonathan S. Katz
jkatz@postgresql.org
In reply to: Bruce Momjian (#56)
#59Alexander Korotkov
aekorotkov@gmail.com
In reply to: Bruce Momjian (#51)
#60Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#11)
#61Bruce Momjian
bruce@momjian.us
In reply to: Amit Langote (#32)
#62Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#12)
#63Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#60)
#64Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#40)
#65Bruce Momjian
bruce@momjian.us
In reply to: Alexander Korotkov (#59)
#66Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#64)
#67Amit Kapila
amit.kapila16@gmail.com
In reply to: Jonathan S. Katz (#38)
#68Amit Kapila
amit.kapila16@gmail.com
In reply to: Bruce Momjian (#54)
#69Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Bruce Momjian (#61)
#70Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Alvaro Herrera (#63)
#71Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#66)
#72Bruce Momjian
bruce@momjian.us
In reply to: Amit Kapila (#67)
#73Bruce Momjian
bruce@momjian.us
In reply to: Amit Kapila (#68)
#74Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#71)
#75Bruce Momjian
bruce@momjian.us
In reply to: Amit Langote (#32)
#76Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#63)
#77Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#76)
#78Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#31)
#79Bruce Momjian
bruce@momjian.us
In reply to: John Naylor (#22)
#80Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#77)
#81Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#78)
#82Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Bruce Momjian (#75)
#83Bruce Momjian
bruce@momjian.us
In reply to: Amit Langote (#82)
#84Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#1)
#85Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Bruce Momjian (#83)
#86Justin Pryzby
pryzby@telsasoft.com
In reply to: Justin Pryzby (#11)
#87Justin Pryzby
pryzby@telsasoft.com
In reply to: Justin Pryzby (#86)
#88Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#87)
#89Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#86)
#90Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#89)
#91Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#90)
#92Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#91)
#93Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#81)
#94Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#92)
#95Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#1)
#96Justin Pryzby
pryzby@telsasoft.com
In reply to: Alvaro Herrera (#94)
#97Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#94)
#98Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#93)
#99Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#97)
#100Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#95)
#101Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#99)
#102Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#101)
#103Fujii Masao
masao.fujii@gmail.com
In reply to: Bruce Momjian (#1)
#104Bruce Momjian
bruce@momjian.us
In reply to: Fujii Masao (#103)
#105Jonathan S. Katz
jkatz@postgresql.org
In reply to: Bruce Momjian (#1)
#106Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#98)
In reply to: Bruce Momjian (#104)
In reply to: Peter Geoghegan (#107)
#109Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#107)
#110Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#1)
#111Bruce Momjian
bruce@momjian.us
In reply to: Masahiko Sawada (#110)
#112Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#111)
#113Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#111)
In reply to: Justin Pryzby (#113)
#115Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#113)
#116Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#114)
In reply to: Bruce Momjian (#116)
#118Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#117)
In reply to: Bruce Momjian (#118)
#120Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#119)
In reply to: Bruce Momjian (#120)
#122Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#121)
In reply to: Bruce Momjian (#122)
#124Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
#125Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#124)
#126Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#125)
#127Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#126)
#128Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#127)
#129Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#128)
In reply to: Bruce Momjian (#129)
#131Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#130)
In reply to: Bruce Momjian (#131)
#133Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#132)
#134Stephen Frost
sfrost@snowman.net
In reply to: Bruce Momjian (#1)
#135Bruce Momjian
bruce@momjian.us
In reply to: Stephen Frost (#134)
#136Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
#137Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#136)
#138Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
#139Justin Pryzby
pryzby@telsasoft.com
In reply to: Justin Pryzby (#138)
#140Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Bruce Momjian (#1)
#141John Naylor
john.naylor@enterprisedb.com
In reply to: Tomas Vondra (#140)
#142Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#138)
#143Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#139)
#144Bruce Momjian
bruce@momjian.us
In reply to: Tomas Vondra (#140)
#145Bruce Momjian
bruce@momjian.us
In reply to: John Naylor (#141)
#146Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#1)
#147Bruce Momjian
bruce@momjian.us
In reply to: Masahiko Sawada (#146)
#148Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#147)
#149Michael Paquier
michael@paquier.xyz
In reply to: Masahiko Sawada (#148)
In reply to: Bruce Momjian (#144)
#151Bruce Momjian
bruce@momjian.us
In reply to: Michael Paquier (#149)
#152Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#151)
#153Bruce Momjian
bruce@momjian.us
In reply to: Masahiko Sawada (#152)
#154Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#150)
#155Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Bruce Momjian (#153)
#156Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Masahiko Sawada (#152)
#157Bruce Momjian
bruce@momjian.us
In reply to: Tatsuo Ishii (#156)
#158Simon Riggs
simon@2ndQuadrant.com
In reply to: Bruce Momjian (#1)
In reply to: Simon Riggs (#158)
#160Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#159)
#161Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
#162Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#161)
#163Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#162)
#164Simon Riggs
simon@2ndQuadrant.com
In reply to: Bruce Momjian (#160)
#165Bruce Momjian
bruce@momjian.us
In reply to: Simon Riggs (#164)
#166Simon Riggs
simon@2ndQuadrant.com
In reply to: Bruce Momjian (#165)
#167Bruce Momjian
bruce@momjian.us
In reply to: Simon Riggs (#166)
#168Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#163)
#169Simon Riggs
simon@2ndQuadrant.com
In reply to: Bruce Momjian (#167)
#170Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#1)
#171Tom Lane
tgl@sss.pgh.pa.us
In reply to: Justin Pryzby (#170)
#172Justin Pryzby
pryzby@telsasoft.com
In reply to: Tom Lane (#171)
#173Yugo Nagata
nagata@sraoss.co.jp
In reply to: Bruce Momjian (#1)