Re: pgsql: Support partition pruning at execution time
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Gierth <andrew@tao11.riddles.org.uk>, David Rowley <david.rowley@2ndquadrant.com>, pgsql-hackers@lists.postgresql.org
Date: 2018-04-10T15:14:17Z
Lists: pgsql-hackers
Attachments
- heapfetches.patch (text/plain) patch
Changed CC to pgsql-hackers. Tom Lane wrote: > Alvaro Herrera <alvherre@alvh.no-ip.org> writes: > > Frankly, I don't like this. I would rather have an instrument->ntuples2 > > rather than these "divide this by nloops, sometimes" schizoid counters. > > This is already being misused by ON CONFLICT (see "other_path" in > > show_modifytable_info). But it seems like a correct fix would require > > more code. > > The question then becomes whether to put back nfiltered3, or to do > something more to your liking. Think I'd vote for the latter. Doing it properly is not a lot of code actually. Patch attached. ON CONFLICT is not changed by this patch, but that's a straightforward change. Questions: 1. Do we want to back-patch this to 10? I suppose (without checking) that EXPLAIN ANALYZE is already reporting bogus numbers for parallel index-only scans, so I think we should do that. 2. Do we want to revert Andrew's test stabilization patch? If I understand correctly, the problem is the inverse of what was diagnosed: "any running transaction at the time of the test could prevent pages from being set as all-visible". That's correct, but the test doesn't depend on pages being all-visible -- quite the contrary, it depends on the pages NOT being all-visible (which is why the HeapFetches counts are all non-zero). Since the pages contain very few tuples, autovacuum should never process the tables anyway. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Update Append's idea of first_partial_plan
- b7e2cbc5b49f 11.0 landed
-
Fix IndexOnlyScan counter for heap fetches in parallel mode
- 15a8f8caad14 11.0 landed
-
Fix incorrect logic for choosing the next Parallel Append subplan
- 468abb8f7a69 11.0 landed
-
Minor comment updates
- d7a95f06a1a1 11.0 landed
-
Attempt to stabilize partition_prune test output.
- b47a86f5008f 11.0 landed
-
Support partition pruning at execution time
- 499be013de65 11.0 cited