Re: Introduce a new view for checkpointer related stats
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2022-11-25T23:02:48Z
Lists: pgsql-hackers
Hi, On 2022-11-23 11:39:43 +0530, Bharath Rupireddy wrote: > On Wed, Nov 23, 2022 at 2:23 AM Andres Freund <andres@anarazel.de> wrote: > > > > On 2022-11-22 18:08:28 +0530, Bharath Rupireddy wrote: > > > > > > CREATE VIEW pg_stat_bgwriter AS > > > SELECT > > > - pg_stat_get_bgwriter_timed_checkpoints() AS checkpoints_timed, > > > - pg_stat_get_bgwriter_requested_checkpoints() AS checkpoints_req, > > > - pg_stat_get_checkpoint_write_time() AS checkpoint_write_time, > > > - pg_stat_get_checkpoint_sync_time() AS checkpoint_sync_time, > > > - pg_stat_get_bgwriter_buf_written_checkpoints() AS buffers_checkpoint, > > > pg_stat_get_bgwriter_buf_written_clean() AS buffers_clean, > > > pg_stat_get_bgwriter_maxwritten_clean() AS maxwritten_clean, > > > - pg_stat_get_buf_written_backend() AS buffers_backend, > > > - pg_stat_get_buf_fsync_backend() AS buffers_backend_fsync, > > > pg_stat_get_buf_alloc() AS buffers_alloc, > > > pg_stat_get_bgwriter_stat_reset_time() AS stats_reset; > > > > > > I think we should consider deprecating the pg_stat_bgwriter columns but > > leaving them in place for a few years. New stuff should only be added to > > pg_stat_checkpointer, but we don't need to break old monitoring queries. > > May I know what it means to deprecate pg_stat_bgwriter columns? Add a note to the docs saying that the columns will be removed. > Are > you suggesting to add deprecation warnings to corresponding functions > pg_stat_get_bgwriter_buf_written_clean(), > pg_stat_get_bgwriter_maxwritten_clean(), pg_stat_get_buf_alloc() and > pg_stat_get_bgwriter_stat_reset_time() and in the docs? I'm thinking of the checkpoint related columns in pg_stat_bgwriter. If we move, rather than duplicate, the pg_stat_bgwriter columns to pg_stat_checkpointer, everyone will have to update their monitoring scripts when upgrading and will need to add version dependency if they monitor multiple versions. If we instead keep the duplicated columns in pg_stat_bgwriter for 5 years, users can reloy on pg_stat_checkpointer in all supported versions. To be clear, it isn't a very heavy burden for users to make these adjustments. But if it only costs us a few lines to keep the old columns for a bit, that seems worth it. > And eventually do away with the bgwriter stats and the file > pgstat_bgwriter.c? Aren't the bgwriter stats buf_written_clean, > maxwritten_clean and buf_alloc useful? Correct, I don't think we should remove those. Greetings, Andres Freund
Commits
-
Expand regression tests for pg_stat_reset_shared()
- 5b2147d9fcc1 17.0 landed
-
Introduce pg_stat_checkpointer
- 96f052613f35 17.0 landed
-
Remove buffers_backend and buffers_backend_fsync from pg_stat_checkpointer
- 74604a37f2f9 17.0 landed