Re: Accessing parameters of a prepared query inside an FDW - Mailing list pgsql-general

From David G. Johnston
Subject Re: Accessing parameters of a prepared query inside an FDW
Date
Msg-id CAKFQuwZvVxSJmiz16c-dj9eo7Nu=ebpzyqNap4WQBC7ifadx+w@mail.gmail.com
Whole thread Raw
In response to Accessing parameters of a prepared query inside an FDW  (Adam Fletcher <adamfblahblah@gmail.com>)
Responses Re: Accessing parameters of a prepared query inside an FDW  (Adam Fletcher <adamfblahblah@gmail.com>)
List pgsql-general
On Wednesday, February 14, 2024, Adam Fletcher <adamfblahblah@gmail.com> wrote:

Is it possible to get the parameterized prepared query inside an FDW such that it can be prepared/bind'd/execute'd on the receiving end of the FDW?

For example, if I `PREPARE stmt(int) AS SELECT * from fdwrapped_tbl where pk = $1;` then `execute stmt(1);` I want my FDW be aware that the query was prepared.

That isn’t how the separation of responsibilities works in PostgreSQL.  Execute is capable of producing a custom plan where instead of adding in parameters and then planning around those unknowns the newly created plan uses the supplied constants while planning.

I do suspect that if a generic plan is chosen you will see the expected parse nodes and can thus build a generic access plan to your foreign server accordingly.

You can control this for ease of testing via plan_cache_mode


David J.

pgsql-general by date:

Previous
From: Adam Fletcher
Date:
Subject: Accessing parameters of a prepared query inside an FDW
Next
From: veem v
Date:
Subject: Re: How to do faster DML