Re: First draft of the PG 15 release notes

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: First draft of the PG 15 release notes
Date: 2022-05-10 20:18:10
Message-ID: YnrIgnhIq4RnHmoy@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 10, 2022 at 01:09:35PM -0500, Justin Pryzby wrote:
> Thanks for writting this.
>
> Comments from my first read:
>
> | This mode could cause server startup failure if the database server stopped abruptly while in this mode.
>
> This sentence both begins and ends with "this mode".

Agreed, I rewrote this.

> | This allows query hash operations to use double the amount of work_mem memory as other operations.
>
> Should it say "node" ?

Uh, I think users think of things like operations, e.g. sort operation
vs sort node.

> | Allow tsvector_delete_arr() and tsvector_setweight_by_filter() accept empty array elements (Jean-Christophe Arnu)
>
> TO accept
> I don't think this should be in the "compatibility" section?

Yes, moved to Function.

> | This accepts numeric formats like ".1" and "1.", and disallow trailing junk after numeric literals, like "1.type()".
>
> disallows with an ess

Fixed.

> | This will cause setseed() followed by random() to return a different value on older servers.
>
> *than* older servers

Fixed.

> | The Postgres default has always been to treat NULL indexed values as distinct, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT.
>
> should not say default, since it wasn't previously configurable.
> "The previous behavior was ..."

Agreed, reworded.

> | Have extended statistics track statistics for a table's children separately (Tomas Vondra, Justin Pryzby)
> | Regular statistics already tracked child and non-child statistics separately.
>
> "separately" seems vague. Currently in v10-v13, extended stats are collected
> for partitioned tables, and collected for the "SELECT FROM ONLY"/parent case
> for inheritance parents. This changes to also collect stats for the "SELECT
> FROM tbl*" case. See also: 20220204214103(dot)GT23027(at)telsasoft(dot)com(dot)

Agreed, reworded. Can you check you like my new wording?

> | Allow members of the pg_checkpointer predefined role to run the CHECKPOINT command (Jeff Davis)
> | Previously these views could only be run by super users.
> | Allow members of the pg_read_all_stats predefined role to access the views pg_backend_memory_contexts and pg_shmem_allocations (Bharath Rupireddy)
> | Previously these views could only be run by super users.
>
> checkpoint is not a view (and views cannot be run)

Fixed, was copy/paste error.

> | Previously runtime-computed values data_checksums, wal_segment_size, and data_directory_mode would report values that would not be accurate on the running server. They also can only be
>
> be what ?

Removed.

> | Add server variable allow_in_place_tablespaces for tablespace testing (Thomas Munro)
>
> This is a developer setting, so doesn't need to be mentioned ?

Moved to Source Code.

> | Add function pg_settings_get_flags() to get the flags of server-side variables (Justin Pryzby)
>
> IMO this is the same, but I think maybe Michael things about it differently...

Uh, I thought it might hvae user value as well as developer.

> | Allow WAL full page writes to use LZ4 and ZSTD compression (Andrey Borodin, Justin Pryzby)
> | Add support for LZ4 and ZSTD compression of server-side base backups (Jeevan Ladhe, Robert Haas)
> | Allow pg_basebackup to decompress LZ4 and ZSTD compressed server-side base backups, and LZ4 and ZSTD compress output files (Dipesh Pandit, Jeevan Ladhe)
> | Add configure option --with-zstd to enable ZSTD build (Jeevan Ladhe, Robert Haas, Michael Paquier)
>
> Maybe these should say "Zstandard" ? See 586955dddecc95e0003262a3954ae83b68ce0372.

I wasn't aware that ZSTD stood for that, so updated.

> | The new options causes the column names to be output, and optionally verified on input.
>
> option

Fixed.
>
> | Previous the actual schema name was used.
>
> Previously

Fixed.

> | When EXPLAIN references the temporary object schema, refer to it as "pg_temp" (Amul Sul)
> | When specifying fractional interval values in units greater than months, round to the nearest month (Bruce Momjian)
> | Limit support of psql to servers running PostgreSQL 9.2 and later (Tom Lane)
> | Limit support of pg_dump and pg_dumpall to servers running PostgreSQL 9.2 and later (Tom Lane)
> | Limit support of pg_upgrade to old servers running PostgreSQL 9.2 and later (Tom Lane)
> | Remove server support for old BASE_BACKUP command syntax and base backup protocol (Robert Haas)
>
> Do these need to be in the "compatibility" section ?

Uh, I think of compatibility as breakage, while removing support for
something doesn't seem like breakage. The protocol removal of
BASE_BACKUP only relates to people writing tools, I thought, so no
breakage for non-internals users. I didn't think the fractional
interval change would be a breakage, though maybe it is. I didn't think
EXPLAIN changes were user-parsed, so no breakage?

> | Fix inforcement of PL/pgSQL variable CONSTANT markings (Tom Lane)
>
> enforcement

Fixed.

> | Allow IP address matching against a server's certificate Subject Alternative Name (Jacob Champion)
>
> Should say "server certificate's" ?

Agreed.

> | Allow libpq's SSL private to be owned by the root user (David Steele)
>
> private *key*

I changed it to "private key file".

> | Have psql output all output if multiple queries are passed to the server at once (Fabien Coelho)
>
> all *results* ?

Yes, fixed.

> | This can be disabled setting SHOW_ALL_RESULTS.
>
> disabled *by* setting

Agreed, fixed.

> | Allow pg_basebackup's --compress option to control the compression method (Michael Paquier, Robert Haas)
>
> Should probably say "compression method and options"

Good point, that feature moved around during the development cycle.

> | Allow pg_basebackup to decompress LZ4 and ZSTD compressed server-side base backups, and LZ4 and ZSTD compress output files (Dipesh Pandit, Jeevan Ladhe)
> | Allow pg_basebackup to compress on the server slide and decompress on the client side before storage (Dipesh Pandit)
>
> Maybe these should be combined into one entry ?

Uh, I think it applies to gzip as well so they can't be combined, and
they seem to do different things.

> | Add the LZ4 compression method to pg_receivewal (Georgios Kokolatos)
> | This is enabled via --compression-method=lz4 and requires binaries to be built using --with-lz4.
> | Redesign pg_receivewal's compression options (Georgios Kokolatos)
> | The new --compression-method option controls the type of compression, rather than just relying on --compress.
>
> It's --compress since 042a923ad.

Yep, fixed.

> | Previously, pg_receivewal would start based on the WAL file stored in the local archive directory, or at the sending server's current WAL flush location. With this change, if the sending server is running Postgres 15 or later, the local archive directory is empty, and a replication slot is specified, the replication slots restart point will be used.
>
> slot's restart point (with a >>'<<)

Fixed.

> | Add dump/restore option --no-table-access-method to force restore to use only the default table access method (Justin Pryzby)
>
> remove "only" ?

I changed it to "to only use the default" since I think that is the
point --- it doesn't use anything but the default.

> | This is for portability in restoring from systems using non-default table access methods.
>
> I would remove part about "portability". The use-case I see for this is
> restoring something to a different table AM (not just heapam), in the same way
> as is possible for tablespaces:
> PGOPTIONS='-c default-table-access-method=foo' pg_restore --no-table-am ./dump

I removed the portability sentence.

> | Previously only the first invalid connection setting database was reported.
>
> "only the first database with an invalid connection setting..."

Yes, reworded.

> | Add new protocol message TARGET to specific a new COPY method to be for base backups (Robert Haas)
>
> specify

Fixed.

> | Automatically export server variables using PGDLLIMPORT on Windows (Robert Haas)
>
> I don't think it's "automatic" ?

Yes, reworded.

> | Allow informational escape sequences to be used in postgres_fdw's application name (Hayato Kuroda, Fujii Masao)
>
> I don't think this should be a separate entry

Uh, the entry above is about per-connection application name, while this
is about escapes --- seems different to me, and hard to combine.

> | This is enabled with the "parallel_commit" postgres_fdw option.
>
> It's an option to the SQL "SERVER" command.

Yes, reworded. URL contents updated:

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

Can you verify you like the new contents please? Thanks.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Indecision is a decision. Inaction is an action. Mark Batterson

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2022-05-10 20:31:40 Re: First draft of the PG 15 release notes
Previous Message Jonathan S. Katz 2022-05-10 20:17:59 Re: First draft of the PG 15 release notes