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: Jeff Janes <jeff.janes@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Gierth <andrew@tao11.riddles.org.uk>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-03-06T13:03:18Z
Lists: pgsql-hackers
(2019/02/22 17:17), Etsuro Fujita wrote:
> (2019/02/21 6:19), Jeff Janes wrote:

>> With your tweaks, I'm still not seeing the ORDER-less LIMIT get pushed
>> down when using use_remote_estimate in a simple test case, either with
>> this set of patches, nor in the V4 set. However, without
>> use_remote_estimate, the LIMIT is now getting pushed with these patches
>> when it does not in HEAD.
>
> Good catch! I think the root cause of that is: when using
> use_remote_estimate, remote estimates obtained through remote EXPLAIN
> are rounded off to two decimal places, which I completely overlooked.
> Will fix. I think I can post a new version early next week.

Done.  Please see [1].  Sorry for the delay.

Best regards,
Etsuro Fujita

[1] https://www.postgresql.org/message-id/5C7FC458.4020400%40lab.ntt.co.jp



Commits

  1. postgres_fdw: Perform the (FINAL, NULL) upperrel operations remotely.

  2. Refactor create_limit_path() to share cost adjustment code with FDWs.

  3. postgres_fdw: Modify regression tests for EPQ-related planning problems.

  4. postgres_fdw: Perform the (ORDERED, NULL) upperrel operations remotely.

  5. Save PathTargets for distinct/ordered relations in root->upper_targets[].

  6. Split create_foreignscan_path() into three functions.

  7. Fix test case for 'outer pathkeys do not match mergeclauses' fix.

  8. postgres_fdw: Avoid 'outer pathkeys do not match mergeclauses' error.