Não sei por que ninguém mencionou a maneira mais simples e fácil de usar o robusto MS SQL Server Management Studio.
Simplesmente, você só precisa usar o recurso integrado de importação/exportação do SSIS. Você pode seguir estes passos:
-
Em primeiro lugar, você precisa instalar o driver ODBC do PostgreSQL para Windows. É muito importante instalar a versão correta em termos de arco de CPU (x86/x64).
-
Dentro do Management Studio, clique com o botão direito em seu banco de dados:Tarefas -> Exportar dados
-
Escolha SQL Server Native Client como fonte de dados.
-
Escolha .Net Framework Data Provider para ODBC como o driver de destino.
-
Defina a cadeia de conexão para seu banco de dados da seguinte forma:
Driver={Driver ODBC PostgreSQL(UNICODE)};Servidor=;Porta=;Banco de dados=;UID=;PWD=
-
Na próxima página, você só precisa selecionar quais tabelas deseja exportar. O SQL Server gerará um mapeamento padrão e você poderá editá-lo. Provavelmente você encontrará alguns problemas de incompatibilidade de tipos que levam algum tempo para serem resolvidos. Por exemplo, se você tiver uma coluna booleana no SQL Server, deverá exportá-la como int4.
Documentos da Microsoft hospeda uma descrição detalhada da conexão ao PostgreSQL por meio de ODBC.
PS:se você quiser ver seu driver ODBC instalado, você precisa verificá-lo via ODBC Data Source Administrator.