Re: WAL usage calculation patch
Julien Rouhaud <rjuju123@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
Hi Amit, Sorry I just noticed your mail. On Sun, Mar 29, 2020 at 05:12:16PM +0530, Amit Kapila wrote: > On Sun, Mar 29, 2020 at 1:26 PM Julien Rouhaud <rjuju123@gmail.com> wrote: > > > > I'm not sure that I get your point. I'm assuming that you meant > > parallel-read-only queries, but surely buffer usage infrastructure for > > parallel query relies on the same approach as non-parallel one (each node > > computes the process-local pgBufferUsage diff) and sums all of that at the end > > of the parallel query execution. I also don't see how whether the query is > > read-only or not is relevant here as far as instrumentation is concerned, > > especially since read-only query can definitely do writes and increase the > > count of dirtied buffers, like a write query would. For instance a hint > > bit change can be done in a parallel query AFAIK, and this can generate WAL > > records in wal_log_hints is enabled, so that's probably one way to test it. > > > > Yeah, that way we can test it. Can you try that? > > > I now think that not adding support for WAL buffers in EXPLAIN output in the > > initial patch scope was a mistake, as this is probably the best way to test the > > WAL counters for parallel queries. This shouldn't be hard to add though, and I > > can work on it quickly if there's still a chance to get this feature included > > in pg13. > > > > I am not sure we will add it in Explain or not (maybe we need inputs > from others in this regard), but if it helps in testing this part of > the patch, then it is a good idea to write a patch for it. You might > want to keep it separate from the main patch as we might not commit > it. As I just wrote in [1] that's exactly what I did. Using parallel query and concurrent update on a table I could see that WAL usage for parallel query seems to be working as one could expect. > Sure, I am fine with that but I am not sure if it is a good idea to > commit this patch without having a way to compute WAL utilization for > those commands. I'm generally fine with waiting for a fix for the existing issue to be committed. But as the feature freeze is approaching, I hope that it won't mean postponing this feature to v14 because a related 2yo bug has just been discovered, as it would seem a bit unfair.