Postgres, RDW, WHERE condition not pushed to remote (JSONB attribute, using postgres_rdw)
I believe the reason for this is that in details-&gt;&gt;'hostname', 'hostname' is of a text type, and PostgreSQL cannot prove to itself either that the same default collation is in use on both sides of the FDW, or that the ->> operator will always return the same answer regardless of collation of its right argument.  So it won't push it over.

There has been some talk of adding a way to mark functions and operators as not being sensitive to collation.  But that won't done until at v12 at the earliest.