Quien no se encontro alguna vez con la necesidad de traer algun dato desde un SQL Server a un Postgres…???
Bien, tenia esto:
Un postgres 9.6.5 y un SQL Server 2014 SP2 (12.0.5207.0) todo en 64bits. Y supongamos que tambien tienen un usaurio y clave del SQL Server, asi como el nombre de la tabla, en mi caso daf.
Enconces, empece:
En el Centos con Root (esto es la instalacion, no lo hagan si ya lo tienen):
- yum install postgresql96-server
- yum install freetds freetds-devel
- yum install postgresql96-libs postgresql96-devel
- firewall-cmd –permanent –add-port=5432/tcp
- firewall-cmd –reload
En el Centos con Postgers (esto es la instalacion, no lo hagan si ya lo tienen):
- /usr/pgsql-9.6/bin/initdb -E=UTF-8 -U postgres -A trust -W -D /bases_postgres/data
- vi postgresql.conf
- vi pg_hba.conf
- /usr/pgsql-9.6/bin/pg_ctl -D /bases_postgres/data start
En el Centos con Root:
- export TDS_FDW_VERSION=”1.0.8″
- wget https://github.com/tds-fdw/tds_fdw/archive/v${TDS_FDW_VERSION}.tar.gz -O tds_fdw-${TDS_FDW_VERSION}.tar.gz
- tar -xvzf tds_fdw-${TDS_FDW_VERSION}.tar.gz
- cd tds_fdw-${TDS_FDW_VERSION}
- PATH=/usr/pgsql-9.6/bin:$PATH make USE_PGXS=1
- PATH=/usr/pgsql-9.6/bin:$PATH make USE_PGXS=1 install
- ping sqlserver
- telnet sqlserver 1433
- tsql -S sqlserver -U fdw
En el PGADMIN con Postgres:
- CREATE EXTENSION tds_fdw;
- create server tds_testserver foreign data wrapper tds_fdw options (servername ‘sqlserver’, port ‘1433’, database ‘diego_test_fdw’, tds_version ‘4.2’, character_set ‘UTF-8’);
- create user mapping for postgres server tds_testserver options (username ‘fdw’, password ‘daf’);
- create foreign table daf (id integer, valor varchar(100) ) server tds_testserver options (table ‘daf’);
- select * from daf;
Estos pasos se siguieron basados en la union de estas notas:
Noten que hay varios cambios