Hi @DanP ,
I am not familiar with PostgresSQL, but I search this from google. We are using following steps to create an External Data Source for PostgreSQL Data.
1.Creating a Master Encryption Key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
2.Create credentials for the external data source connected to PostgreSQL data
CREATE DATABASE SCOPED CREDENTIAL postgresql_creds
WITH IDENTITY = 'username', SECRET = 'password';
3.Create an external data source for PostgreSQL with PolyBase
CREATE EXTERNAL DATA SOURCE cdata_postgresql_source
WITH (
LOCATION = 'odbc://SERVERNAME[:PORT]',
CONNECTION_OPTIONS = 'DSN=CData PostgreSQL Sys',
-- PUSHDOWN = ON | OFF,
CREDENTIAL = postgresql_creds
);
4.Use CREATE EXTERNAL TABLE statements to link to PostgreSQL data from your SQL Server instance
CREATE EXTERNAL TABLE Orders(
ShipName [nvarchar](255) NULL,
ShipCity [nvarchar](255) NULL,
...
) WITH (
LOCATION='Orders',
DATA_SOURCE=cdata_postgresql_source
);
Please also check this blog to find if you missed some key steps.
By the way, I think below error message is useful in your error message.
>SQL Error Info: Error <1>: ErrorMsg: [Microsoft][ODBC Driver Manager] Driver does not support this function