Обсуждение: Re: pgsql: Apply a band-aid fix for the problem that 8.2 and up completely
"Tom Lane" <tgl@postgresql.org> writes: > Log Message: > ----------- > Apply a band-aid fix for the problem that 8.2 and up completely misestimate > the number of rows likely to be produced by a query such as > SELECT * FROM t1 LEFT JOIN t2 USING (key) WHERE t2.key IS NULL; I'm a little wary of backpatching planner logic changes like this and another instance in the past. Even if the new logic is better in 99% of cases people with existing systems will have already dealt with the 99% of cases where the existing releases come up with poor plans. It seems the only people this patch will affect are the 1% for whom the old planner works fine and upgrading breaks their application. I'm not sure I would advocate rolling this particular commit back though, especially since there's already at least one other planner change iirc. Perhaps just noting the planner changes specifically in the release announcement as possible compatibility gotchas is what's needed. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com
Gregory Stark <stark@enterprisedb.com> writes: > "Tom Lane" <tgl@postgresql.org> writes: >> Log Message: >> ----------- >> Apply a band-aid fix for the problem that 8.2 and up completely misestimate >> the number of rows likely to be produced by a query such as >> SELECT * FROM t1 LEFT JOIN t2 USING (key) WHERE t2.key IS NULL; > I'm a little wary of backpatching planner logic changes like this and another > instance in the past. I probably wouldn't have even made this patch if 8.2's behavior weren't so completely broken on an important class of query. For a significant number of people, this is a bug fix. In any case, there have been planner changes much larger than this committed into the 8.2 branch since release --- both the outer join rearrangement logic and choose_bitmap_and have needed significant surgery. regards, tom lane