Linked Server: consultando o PostGreSQL através do MS SQL Server

Antes de tudo é necessário instalar os drivers ODBC do PostGreSQL no servidor em que se encontra o MS SQL Server.

Depois registre um System DSN, ou Fonte de Dados do Sistema. Para isto basta se encaminhar para:

Painel de Controle → Ferramentas Administrativas → Fontes de Dados ODBC.

Basta preencher as caixinhas e depois testar. Com a conexão funcionando,  agora é hora de se criar um Linked Server entre o MS SQL Server e o PostGreSQL.

EXEC master.dbo.spdroplinkedsrvlogin @rmtsrvname=N'LINKEDSERVERNAME' , @locallogin=NULL EXEC master.dbo.spdropserver @server = 'LINKEDSERVERNAME' EXEC master.dbo.spaddlinkedserver @server = 'LINKEDSERVERNAME' , @provider = 'Postgresql OLE DB' , @datasrc = 'Postgresql ANSI' EXEC master.dbo.spaddlinkedsrvlogin @rmtsrvname=N'LINKEDSERVERNAME' , @useself=N'False' , @locallogin=NULL , @rmtuser='usuariopostgres' , @rmtpassword='senhapostgres'

Agora você pode fazer consultas assim:

SELECT * FROM openquery(LINKEDSERVERNAME, 'SELECT * FROM TABELADOPOSTGRES')