Hi, Thanks for the patch. The idea is good and can we introduce a new counter to pg_stat_checkpointer ? For example, we can add wal_segments_created to this view and it would be useful for capacity planning and load estimations.
Additionally I have a few questions - Should we make walSegsCreatedLastCheckpoint atomic ? In the future we can also add this to views maybe. It's an auxiliary suggestion. - ckpt_segs_added is defined as int but overflow threshold is 2^32 in comments. Shouldn't we use 2^31 for int ? - Maybe it's a bad idea but should we extend the tests with the wal_level set to minimal ? PS: I created a patch to expose wal_segments_created to pg_stat_checkpointer view. You can review it and enhance your patch if you need. I created it to explain my idea better so it can be destroyed after your review. But I couldn't create a patch for preceding questions. Regards, Demir. Xuneng Zhou <[email protected]>, 25 Mar 2026 Çar, 03:10 tarihinde şunu yazdı: > > On Wed, Mar 25, 2026 at 9:11 AM Xuneng Zhou <[email protected]> wrote: > > > > Hi Japin, > > > > Thanks for looking into this. > > > > On Tue, Mar 24, 2026 at 10:01 PM Japin Li <[email protected]> wrote: > > > > > > > > > Hi, Xuneng > > > > > > On Tue, 24 Mar 2026 at 19:17, Xuneng Zhou <[email protected]> wrote: > > > > Hi Zsolt, > > > > > > > > On Tue, Mar 24, 2026 at 1:55 PM Zsolt Parragi > > > > <[email protected]> wrote: > > > > > > > > Hello! > > > > > > > > This is a simple patch, but shouldn't it include at least some basic > > > > tests verifying the new behavior? > > > > > > > > Thanks for looking into this. I've added a test for it. Please take a > > > > look. > > > > > > Thanks for updating the patch. A few comments on v2: > > > > > > 1. > > > + (The probes listed next fire in sequence during checkpoint > > > processing.) > > > + arg0 is the number of buffers written. arg1 is the total number of > > > > > > These changes seem unnecessary. Additionally, there appears to be an > > > indentation issue. > > > > Yeah, I've removed these and fixed the indentation issue. > > > > > 2. > > > + current = pg_atomic_read_u64(&XLogCtl->walSegmentsCreated); > > > + CheckpointStats.ckpt_segs_added = (int) > > > + (current - XLogCtl->walSegsCreatedLastCheckpoint); > > > + XLogCtl->walSegsCreatedLastCheckpoint = current; > > > > > > Is integer overflow a concern here? It seems unlikely in practice. > > > > I don’t think overflow is a concern here, but it might still be > > helpful to add some comments to mention it. > > > > v4 fixed the inaccurate overflow numbers in comments. > > -- > Best, > Xuneng
v1-0001-Add-WAL-segment-file-counts-to-pg_stat_checkpointer.patch
Description: Binary data
