Re: WAL usage calculation patch
Kirill Bychik <kirill.bychik@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Change the display of WAL usage statistics in Explain.
- 69bfaf2e1de4 13.0 landed
-
Cosmetic fixups for WAL usage work.
- ef08ca113fe3 13.0 landed
-
Allow parallel create index to accumulate buffer usage stats.
- 5c71362174eb 13.0 landed
- f179e9f01b65 11.8 landed
- 13823ad3b012 12.3 landed
-
Allow autovacuum to log WAL usage statistics.
- b7ce6de93b59 13.0 landed
-
Add the option to report WAL usage in EXPLAIN and auto_explain.
- 33e05f89c53e 13.0 landed
-
Allow pg_stat_statements to track WAL usage statistics.
- 6b466bf5f2be 13.0 landed
-
Add infrastructure to track WAL usage.
- df3b181499b4 13.0 landed
-
Include information on buffer usage during planning phase, in EXPLAIN output, take two.
- ce77abe63cfc 13.0 cited
-
Include information on buffer usage during planning phase, in EXPLAIN output.
- ed7a5095716e 13.0 cited
-
Allow parallel vacuum to accumulate buffer usage.
- 3a5e22138a8d 13.0 landed
-
Allow pg_stat_statements to track planning statistics.
- 17e03282241c 13.0 cited
Attachments
- 003.wal_stats.core.patch (text/x-patch) patch
- 003.wal_stats.ext.patch (text/x-patch) patch
> > > On Thu, Mar 5, 2020 at 8:55 PM Kirill Bychik <kirill.bychik@gmail.com> wrote: > > > > I wanted to keep the patch small and simple, and fit to practical > > > > needs. This patch is supposed to provide tuning assistance, catching > > > > an io heavy query in commit-bound situation. > > > > Total WAL usage per DB can be assessed rather easily using other means. > > > > Let's get this change into the codebase and then work on connecting > > > > WAL usage to (auto)vacuum stats. > > > > > > I agree that having a view of the full activity is a way bigger scope, > > > so it could be done later (and at this point in pg14), but I'm still > > > hoping that we can get insight of other backend WAL activity, such as > > > autovacuum, in pg13. > > > > How do you think this information should be exposed? Via the pg_stat_statement? > > That's unlikely, since autovacuum won't trigger any hook. I was > thinking on some new view for pgstats, similarly to the example I > showed previously. The implementation is straightforward, although > pg_stat_database is maybe not the best choice here. After extensive thinking and some code diving, I did not manage to come up with a sane idea on how to expose data about autovacuum WAL usage. Must be the flu. > > Anyways, I believe this change could be bigger than FPI. I propose to > > plan a separate patch for it, or even add it to the TODO after the > > core patch of wal usage is merged. > > Just in case, if the problem is a lack of time, I'd be happy to help > on that if needed. Otherwise, I'll definitely not try to block any > progress for the feature as proposed. Please feel free to work on any extension of this patch idea. I lack both time and knowledge to do it all by myself. > > Please expect a new patch version next week, with FPI counters added. Please find attached patch version 003, with FP writes and minor corrections. Hope i use attachment versioning as expected in this group :) Test had been reworked, and I believe it should be stable now, the part which checks WAL is written and there is a correlation between affected rows and WAL records. I still have no idea how to test full-page writes against regular updates, it seems very unstable. Please share ideas if any. Thanks!