Opposing to Teiid, I see that FDW requires you to provide the metadata for the foreign objects. Also the supported functionality might be different from one Wrapper to another. Remote query optimization is also unclear. From postgres_fdw doc: "To reduce the risk of misexecution of queries, WHERE clauses are not sent to the remote server unless they use only built-in data types, operators, and functions. Operators and functions in the clauses must be IMMUTABLE as well."
Yes, we have. Postgres is implementing the SQL-MED specification, which Teiid tries to follow whereever it is possible in terms of syntax. You are right the push down type enhancements not defined in the spec, but I believe it is up to the individual project to come up those. I am not sure about performance, Steve knows lot more about it.