Re: Asynchronous Append on postgres_fdw nodes. - Mailing list pgsql-hackers

From Andrey V. Lepikhov
Subject Re: Asynchronous Append on postgres_fdw nodes.
Date
Msg-id c9388cb7-8cfc-bc92-0d6a-b519e6099cb6@postgrespro.ru
Whole thread Raw
In response to Re: Asynchronous Append on postgres_fdw nodes.  (Etsuro Fujita <etsuro.fujita@gmail.com>)
Responses Re: Asynchronous Append on postgres_fdw nodes.
List pgsql-hackers
On 4/23/21 8:12 AM, Etsuro Fujita wrote:
> On Thu, Apr 22, 2021 at 12:30 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:
> I have committed the patch.

One more question. Append choose async plans at the stage of the Append 
plan creation.
Later, the planner performs some optimizations, such as eliminating 
trivial Subquery nodes. So, AsyncAppend is impossible in some 
situations, for example:

(SELECT * FROM f1 WHERE a < 10)
   UNION ALL
(SELECT * FROM f2 WHERE a < 10);

But works for the query:

SELECT *
   FROM (SELECT * FROM f1 UNION ALL SELECT * FROM f2) AS q1
WHERE a < 10;

As far as I understand, this is not a hard limit. We can choose async 
subplans at the beginning of the execution stage.
For a demo, I prepared the patch (see in attachment).
It solves the problem and passes the regression tests.

-- 
regards,
Andrey Lepikhov
Postgres Professional

Attachment

pgsql-hackers by date:

Previous
From: Amul Sul
Date:
Subject: Re: Skip temporary table schema name from explain-verbose output.
Next
From: Amit Kapila
Date:
Subject: Re: [BUG] "FailedAssertion" reported when streaming in logical replication