Jeff Janes <jeff.janes@gmail.com> writes:
> I've tried versions 9.6.3 and 10dev, and neither do what I expected. It
> doesn't seem to be a planning problem where it thinks the fast plan is
> slower, it just doesn't seem to consider the faster plans as being options
> at all. Is there some setting to make it realize the cast is shippable?
AFAICS, postgres_fdw doesn't have any knowledge of CoerceViaIO parse
nodes, so it's never going to consider this type of brute-force cast
as shippable. Normal casts would presumably be shippable if the
underlying function is considered safe.
Looks like a round-tuit-shortage issue rather than anything fundamental.
regards, tom lane