Re: PG 16 draft release notes ready - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: PG 16 draft release notes ready
Date
Msg-id ZGasD7blbSRqeoM9@momjian.us
Whole thread Raw
In response to Re: PG 16 draft release notes ready  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: PG 16 draft release notes ready
Re: PG 16 draft release notes ready
List pgsql-hackers
On Thu, May 18, 2023 at 02:53:25PM -0700, Peter Geoghegan wrote:
> On Thu, May 18, 2023 at 1:49 PM Bruce Momjian <bruce@momjian.us> wrote:
> > I will adjust it to the feedback I receive;  that URL will quickly show
> > all updates.
> >
> > I learned a few things creating it this time:
> >
> > *  I can get confused over C function names and SQL function names in
> >    commit messages.
> 
> The commit history covering pg_walinspect was complicated. Some of the
> newly added stuff was revised multiple times, by multiple authors due
> to changing ideas about the best UI. Here is some concrete feedback
> about that:
> 
> * Two functions that were in 15 that each end in *_till_end_of_wal()
> were removed for 16, since the same functionality is now provided
> through a more intuitive UI: we now tolerate invalid end_lsn values
> "from the future", per a new "Tip" in the pg_walinspect documentation
> for 16.
> 
> In my opinion this should (at most) be covered as a compatibility
> item. It's not really new functionality.

So, I looked at this and the problem is that this is best as a single
release note entry because we are removing and adding, and if I moved it
to compatibility, I am concerned the new feature will be missed.  Since
WAL inspection is a utility operation, inn general, I think having it in
the pg_walinspect section makes the most sense.
 
> * There is one truly new pg_walinspect function added to 16:
> pg_get_wal_block_info(). Its main purpose is to see how each
> individual block changed -- it's far easier to track how blocks
> changed over time using the new function. The original "record
> orientated" functions made that very difficult (regex hacks were
> required).
> 
> pg_get_wal_block_info first appeared under another name, and had
> somewhat narrower functionality to the final version, all of which
> shouldn't matter to users -- since they never saw a stable release
> with any of that. There is no point in telling users about the commits
> that changed the name/functionality of pg_get_wal_block_info that came
> only a couple of months after the earliest version was commited -- to
> users, it is simply a new function with new functionality.

Right.

> I also suggest merging the pg_waldump items with the section you've
> added covering pg_walinspect. A "pg_walinspect and pg_waldump" section
> seems natural to me. Some of the enhancements in this area benefit
> pg_walinspect and pg_waldump in exactly the same way, since
> pg_walinspect is essentially a backend/SQL interface equivalent of
> pg_waldump's frontend/CLI interface. Melanie's work on improving the
> descriptions output for WAL records like Heap's PRUNE and VACUUM
> records is a great example of this -- it does exactly the same thing
> for pg_walinspect and pg_waldump, without directly targeting either
> (it also affects the wal_debug developer option).

Well, pg_waldump is an installed binary while pg_walinspect is an
extension, so I am not sure where I would put a merged section.

> It might also make sense to say that the enhanced WAL record
> descriptions from Melanie generally apply to records used by VACUUM
> only.

Okay, I went with:

    Improve descriptions of pg_walinspect WAL record descriptions
    (Melanie Plageman, Peter Geoghegan)

> Note also that the item "Add pg_waldump option --save-fullpage to dump
> full page images (David Christensen)" is tangentially related to
> pg_get_wal_block_info(), since you can also get FPIs using
> pg_get_wal_block_info() (in fact, that was originally its main
> purpose). I'm not saying that you necessarily need to connect them
> together in any way, but you might consider it.

Well, there is so much _new_ in that tool that listing everything new
seems confusing.

FYI, I have just added an item about more aggressing freezing:

    <!--
    Author: Peter Geoghegan <pg@bowt.ie>
    2022-09-08 [d977ffd92] Instrument freezing in autovacuum log reports.
    Author: Peter Geoghegan <pg@bowt.ie>
    2022-11-15 [9e5405993] Deduplicate freeze plans in freeze WAL records.
    Author: Peter Geoghegan <pg@bowt.ie>
    2022-12-28 [1de58df4f] Add page-level freezing to VACUUM.
    -->
    
    <listitem>
    <para>
    During non-freeze operations, perform page freezing where appropriate
    Peter Geoghegan)
    </para>
    
    <para>
    This makes full-table freeze vacuums less necessary.
    </para>
    </listitem>

All changes committed.

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

  Only you can decide what is important to you.



pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Order changes in PG16 since ICU introduction
Next
From: Peter Geoghegan
Date:
Subject: Re: PG 16 draft release notes ready