Re: Problems with plan estimates in postgres_fdw
Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Gierth <andrew@tao11.riddles.org.uk>, pgsql-hackers@postgresql.org
Date: 2019-01-30T11:10:41Z
Lists: pgsql-hackers
Attachments
(2018/12/28 15:50), Etsuro Fujita wrote: > Attached is a new version of the > patch. Here is an updated version of the patch set. Changes are: * In the previous version, LIMIT without OFFSET was not performed remotely as the costs was calculated the same as the costs of performing it locally. (Actually, such LIMIT was performed remotely in a case in the postgres_fdw regression test, but that was due to a bug :(.) I think we should prefer performing such LIMIT remotely as that avoids extra row fetches from the remote that performing it locally might cause, so I tweaked the costs estimated in estimate_path_cost_size(), to ensure that we'll prefer performing such LIMIT remotely. (I fixed the mentioned bug as well.) * I fixed another bug in adjusting the costs of pre-sorted foreign-grouping paths. * I tweaked comments, and rebased the patch set against the latest HEAD. Best regards, Etsuro Fujita
Commits
-
postgres_fdw: Perform the (FINAL, NULL) upperrel operations remotely.
- d50d172e517c 12.0 landed
-
Refactor create_limit_path() to share cost adjustment code with FDWs.
- aef65db6769e 12.0 landed
-
postgres_fdw: Modify regression tests for EPQ-related planning problems.
- 0269edefacb7 12.0 landed
-
postgres_fdw: Perform the (ORDERED, NULL) upperrel operations remotely.
- ffab494a4d46 12.0 landed
-
Save PathTargets for distinct/ordered relations in root->upper_targets[].
- 3fdc374b5d24 12.0 landed
-
Split create_foreignscan_path() into three functions.
- 34ea1ab7fd30 12.0 cited
-
Fix test case for 'outer pathkeys do not match mergeclauses' fix.
- 99f6a17dd62a 11.0 cited
-
postgres_fdw: Avoid 'outer pathkeys do not match mergeclauses' error.
- 4bbf6edfbd5d 11.0 cited