Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pzmTe-0003xB-G5 for pgsql-hackers@arkaria.postgresql.org; Thu, 18 May 2023 22:52:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pzmTd-0007rH-40 for pgsql-hackers@arkaria.postgresql.org; Thu, 18 May 2023 22:52:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pzmTc-0007r7-Qa for pgsql-hackers@lists.postgresql.org; Thu, 18 May 2023 22:52:04 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pzmTZ-000ZFQ-VJ for pgsql-hackers@postgresql.org; Thu, 18 May 2023 22:52:03 +0000 Received: from bruce by momjian.us with local (Exim 4.94.2) (envelope-from ) id 1pzmTX-008Z5i-V2; Thu, 18 May 2023 18:51:59 -0400 Date: Thu, 18 May 2023 18:51:59 -0400 From: Bruce Momjian To: Peter Geoghegan Cc: PostgreSQL-development Subject: Re: PG 16 draft release notes ready Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, May 18, 2023 at 02:53:25PM -0700, Peter Geoghegan wrote: > On Thu, May 18, 2023 at 1:49 PM Bruce Momjian 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: During non-freeze operations, perform page freezing where appropriate Peter Geoghegan) This makes full-table freeze vacuums less necessary. All changes committed. -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Only you can decide what is important to you.