* Ashutosh Bapat (ashutosh.bapat@enterprisedb.com) wrote:
> During EXPLAIN, ExecInitNode() is called. If ExecInitNode() fires queries
> to foreign servers, those would be fired while EXPLAINing a query as well.
> We want to avoid that. Instead, we can run EXPLAIN on that query at foreign
> server. But again, not all foreign servers would be able to EXPLAIN the
> query e.g. file_fdw. OR totally avoid firing query during ExecInitNode(),
> if it's for EXPLAIN (except for ANALYSE may be).
Agreed that we wouldn't want to actually run a query when it's just
being explain'd. If the FDW can't tell the difference then we'd need to
address that, of course. A similar issue would, presumably, be around
prepare/execute, though I haven't looked yet. These kinds of issues are
why it was option '#2' instead of '#1'. :) I'm not sure they're able to
be addressed. :/
Thanks,
Stephen