Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)
Alvaro Herrera <alvherre@alvh.no-ip.org>
On 2021-Apr-12, Melanie Plageman wrote: > As for the way I have recorded strategy writes -- it is quite inelegant, > but, I wanted to make sure that I only counted a strategy write as one > in which the backend wrote out the dirty buffer from its strategy ring > but did not check if there was any clean buffer in shared buffers more > generally (so, it is *potentially* an avoidable write). I'm not sure if > this distinction is useful to anyone. I haven't done enough with > BufferAccessStrategies to know what I'd want to know about them when > developing or using Postgres. However, if I don't need to be so careful, > it will make the code much simpler (though, I'm sure I can improve the > code regardless). I was bitten last year by REFRESH MATERIALIZED VIEW counting its writes via buffers_backend, and I was very surprised/confused about it. So it seems definitely worthwhile to count writes via strategy separately. For a DBA tuning the server configuration it is very useful. The main thing is to *not* let these writes end up regular buffers_backend (or whatever you call these now). I didn't read your patch, but the way you have described it seems okay to me. -- Álvaro Herrera 39°49'30"S 73°17'W
Commits
-
Stabilize pg_stat_io writes test
- ef719e7b32fc 16.0 landed
-
Fix flakey pg_stat_io test
- 1be0fdb9de55 16.0 landed
-
Suppress more compiler warnings in new pgstats code.
- b1b86820d84e 16.0 landed
-
Suppress compiler warnings in new pgstats code.
- 728560db7d86 16.0 landed
-
Add tests for pg_stat_io
- 10a082bf7215 16.0 landed
-
Create regress_tblspc in test_setup
- 9c83bbcf7ef6 16.0 landed
-
Add pg_stat_io view, providing more detailed IO statistics
- a9c70b46dbe1 16.0 landed
-
pgstat: Track more detailed relation IO statistics
- f30d62c2fc60 16.0 landed
-
pgstat: Infrastructure for more detailed IO statistics
- 28e626bde00e 16.0 landed
-
doc: Fix some issues in logical replication section
- 4f74f5641d53 16.0 cited
-
Manual cleanup and pgindent of pgstat and bufmgr related code
- 250c8ee07ede 16.0 landed
-
Have the planner consider Incremental Sort for DISTINCT
- 3c6fc58209f2 16.0 cited
-
Use actual backend IDs in pg_stat_get_backend_idset() and friends.
- d7e39d72ca1c 16.0 cited
-
Remove redundant call to pgstat_report_wal()
- 1bdd54e662d5 16.0 landed
-
Add BackendType for standalone backends
- 0c679464a837 16.0 landed
-
Initialize backend status reporting during bootstrap.
- 3b34645678d1 15.0 landed