Re: Damage control for planner's get_actual_variable_endpoint() runaway
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon.riggs@enterprisedb.com>,
Alvaro Herrera <alvherre@alvh.no-ip.org>,
Jakub Wartak <jakub.wartak@enterprisedb.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-21T15:32:28Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > Is there any reason to tie this into page costs? I'd be more inclined > to just make it a hard limit on the number of pages. I think that > would be more predictable and less prone to surprising (bad) behavior. Agreed, a simple limit of N pages fetched seems appropriate. > And to be honest I would be inclined to make it quite a small number. > Perhaps 5 or 10. Is there a good argument for going any higher? Sure: people are not complaining until it gets into the thousands. And you have to remember that the entire mechanism exists only because of user complaints about inaccurate estimates. We shouldn't be too eager to resurrect that problem. I'd be happy with a limit of 100 pages. regards, tom lane
Commits
-
YA attempt at taming worst-case behavior of get_actual_variable_range.
- b96a096dbc2b 11.19 landed
- ec10b6139c6d 12.14 landed
- bd06fe4dee63 14.7 landed
- 6e639267a534 13.10 landed
- 2debceed2947 15.2 landed
- 9c6ad5eaa957 16.0 landed
-
Improve performance of get_actual_variable_range with recently-dead tuples.
- 3ca930fc39cc 11.0 cited
-
Use SnapshotDirty rather than an active snapshot to probe index endpoints.
- fccebe421d0c 9.4.0 cited