Laurenz Albe писал(а) 2025-12-10 16:12:
> On Wed, 2025-12-10 at 15:44 +0300, Alexander Pyhalov wrote:
>> There's a long-standing issue with postgres_fdw - as it uses cursors,
>> it
>> prefers plans, optimized for fetching first rows. In bad scenarios
>> this
>> leads to suboptimal choice of join methods (e.g. choosing nest loop
>> over
>> hash join) on remote side. I've crafted WIP patch, which tries to fix
>> this issue. It adds FETCH ALL cursors and uses them in postgres_fdw.
>> What do you think? Should we go in this direction?
>
> Why not simply set cursor_tuple_fraction to 1.0 in postgres_fdw
> sessions?
>
> Yours,
> Laurenz Albe
Hi.
Haven't thought about this. Thanks for the idea. The only drawback I see
is that this will affect all cursors, which can be used, for example, by
shippable functions. But looks much simpler.
--
Best regards,
Alexander Pyhalov,
Postgres Professional