Re: DOCS: pg_plan_advice minor doc fixes

From: Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)com>
To: jie wang <jugierwang(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: DOCS: pg_plan_advice minor doc fixes
Date: 2026-04-09 06:47:48
Message-ID: CA+3i_M_S2UAw8M+EX0RcWzWAX3gaDNV7mU9_b5DusbaGMm-Pow@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Jie,

On Wed, Apr 8, 2026 at 12:52 AM jie wang <jugierwang(at)gmail(dot)com> wrote:

>
>
> Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)com> 于2026年4月8日周三 15:09写道:
>
>> Hi hackers,
>>
>> I noticed the following minor discrepancy in the pg_plan_advice docs,
>> attached a patch to address this.
>>
>> (1) FOREIGN SCAN should be FOREIGN JOIN in the scan method advice tag. I
>> tested with FOREIGN SCAN and can confirm it gives a syntax error while the
>> other one works correctly.
>>
>> postgres=# SET pg_plan_advice.advice = 'FOREIGN_JOIN((t1 t2))';
>> EXPLAIN (COSTS OFF, PLAN_ADVICE)
>> SELECT * FROM fdw_t1 t1 JOIN fdw_t2 t2 ON t1.id = t2.t1_id;
>>
>> SET
>> QUERY PLAN
>> -------------------------------------------------
>> Foreign Scan
>> Relations: (fdw_t1 t1) INNER JOIN (fdw_t2 t2)
>> Supplied Plan Advice:
>> FOREIGN_JOIN((t1 t2)) /* matched */
>> Generated Plan Advice:
>> FOREIGN_JOIN((t1 t2))
>> NO_GATHER(t1 t2)
>> (7 rows)
>>
>>
>> (2) NESTED_LOOP_MEMOIZE is missing from the join method list in the doc
>> though it is supported. Verified this by running below:
>>
>> postgres=# SET pg_plan_advice.advice = 'NESTED_LOOP_MEMOIZE(d)';
>> SET
>> postgres=# EXPLAIN (COSTS OFF, PLAN_ADVICE) select * from t1 f JOIN t2 ON
>> f.id = t2.t1_id;
>> QUERY PLAN
>> --------------------------------------------
>> Hash Join
>> Hash Cond: (t2.t1_id = f.id)
>> -> Seq Scan on t2
>> -> Hash
>> -> Seq Scan on t1 f
>> Supplied Plan Advice:
>> NESTED_LOOP_MEMOIZE(d) /* not matched */
>> Generated Plan Advice:
>> JOIN_ORDER(t2 f)
>> HASH_JOIN(f)
>> SEQ_SCAN(t2 f)
>> NO_GATHER(f t2)
>> (12 rows)
>>
>> Regards,
>> Lakshmi
>>
>
>
> Hi,
>
> I found that this patch is not fully modified and is missing a part:
> `Foreign Scan` ---> `Foreign Join`
>

LGTM.

Regards,
Lakshmi

>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Antonin Houska 2026-04-09 06:59:00 Re: Adding REPACK [concurrently]
Previous Message Xuneng Zhou 2026-04-09 06:38:59 Re: Bug: WAIT FOR LSN crashes with assertion failure inside PL/pgSQL DO blocks and procedures