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.