*** a/contrib/postgres_fdw/postgres_fdw.c --- b/contrib/postgres_fdw/postgres_fdw.c *************** *** 4092,4097 **** foreign_join_ok(PlannerInfo *root, RelOptInfo *joinrel, JoinType jointype, --- 4092,4101 ---- joinclauses = NIL; } + /* is_foreign_expr might need server and shippable-extensions info. */ + fpinfo->server = fpinfo_o->server; + fpinfo->shippable_extensions = fpinfo_o->shippable_extensions; + /* Join quals must be safe to push down. */ foreach(lc, joinclauses) { *************** *** 4235,4243 **** foreign_join_ok(PlannerInfo *root, RelOptInfo *joinrel, JoinType jointype, else fpinfo->user = NULL; - /* Get foreign server */ - fpinfo->server = fpinfo_o->server; - /* * Since both the joining relations come from the same server, the server * level options should have same value for both the relations. Pick from --- 4239,4244 ----