Using DEVART ODBC connector to link to Postgres DB (as LinkedServer).
The ODBC driver reports an error when extracting the Postgres equivalent of a CHAR(MAX) type column (i.e. citext(-1)) using the EXEC AT method...
EXEC ('SELECT "CiTextColumn" FROM postgresdatabase."myTable"') AT DevArtODBCLinkedPostgres;
-- FAILS with ERROR
-- OLE DB provider "STREAM" for linked server "(null)" returned message "Multiple-step OLE DB operation generated errors
EXEC ('SELECT "CiTextColumn"::char(36) FROM postgresdatabase."myTable"') AT DevArtODBCLinkedPostgres;
-- WORKAROUND converting citext(-1) to char(36) does work. :) - but is not a sustainable workaround.