A PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)
C Python C++ Makefile
Latest commit e5f7f5c Sep 6, 2017 @GeoffMontee GeoffMontee Merge pull request #141 from juliogonzalez/opensuse
Fix bad reference to CentOS on OpenSUSE section at README.md
Permalink
Failed to load latest commit information.
include Remove unnecessary symbol visibility to eliminate conflict with postg… Apr 20, 2017
sql Changed things up for a PGXN release. May 17, 2014
src Remove unnecessary symbol visibility to eliminate conflict with postg… Apr 20, 2017
tests IMPORT FOREIGN SCHEMA implemented Sep 2, 2016
.gitattributes Added a git attributes file configured to auto-select line endings. Apr 16, 2016
ForeignSchemaImporting.md IMPORT FOREIGN SCHEMA implemented Sep 2, 2016
ForeignServerCreation.md Updated documentation. Apr 17, 2016
ForeignTableCreation.md Fixed formatting issue in documentation. Apr 17, 2016
InstallCentOS.md Repointer the docs to tds-fdw/tds_fdw. Mar 23, 2017
InstallOSX.md Repointer the docs to tds-fdw/tds_fdw. Mar 23, 2017
InstallOpenSUSE.md Document installation on OpenSUSE Leap 42.3 Aug 20, 2017
InstallUbuntu.md Change Ubuntu version to 14.04 (12.04 reached its EoL) Jun 14, 2017
LICENSE Issue #109: Added LICENSE file. Nov 29, 2016
META.json Updated META.json. Changed release_status to unstable. Changed it to … Apr 17, 2016
Makefile Remove unnecessary symbol visibility to eliminate conflict with postg… Apr 20, 2017
README.md Fix bad reference to CentOS on OpenSUSE section at README.md Sep 6, 2017
UserMappingCreation.md Divided up information in README.md into multiple .md files. Jun 7, 2015
Variables.md Added some documentation for the new variables. Sep 20, 2015
tds_fdw.control Changed version strings to 2.0.0-alpha.1. Apr 17, 2016

README.md

TDS Foreign data wrapper

  • Author: Geoff Montee
  • Name: tds_fdw
  • File: tds_fdw/README.md

About

This is a PostgreSQL foreign data wrapper that can connect to databases that use the Tabular Data Stream (TDS) protocol, such as Sybase databases and Microsoft SQL server.

This foreign data wrapper requires a library that implements the DB-Library interface, such as FreeTDS. This has been tested with FreeTDS, but not the proprietary implementations of DB-Library.

This should support PostgreSQL 9.2+.

The current version does not yet support JOIN push-down, or write operations.

It does support WHERE and column pushdowns when match_column_names is enabled.

Build Status

Build Status

Installing on CentOS

See installing tds_fdw on CentOS.

Installing on Ubuntu

See installing tds_fdw on Ubuntu.

Installing on OpenSUSE

See installing tds_fdw on OpenSUSE.

Installing on OSX

See installing tds_fdw on OSX.

Usage

Foreign server

See creating a foreign server.

Foreign table

See creating a foreign table.

User mapping

See creating a user mapping.

Foreign schema

See importing a foreign schema.

Variables

See variables.

Notes about character sets/encoding

  1. If you get an error like this with MS SQL Server when working with Unicode data:

    NOTICE: DB-Library notice: Msg #: 4004, Msg state: 1, Msg: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier., Server: PILLIUM\SQLEXPRESS, Process: , Line: 1, Level: 16
    ERROR: DB-Library error: DB #: 4004, DB Msg: General SQL Server error: Check messages from the SQL Server, OS #: -1, OS Msg: (null), Level: 16

    You may have to manually set tds version in freetds.conf to 7.0 or higher. See The freetds.conf File. and Choosing a TDS protocol version.

  2. Although many newer versions of the TDS protocol will only use USC-2 to communicate with the server, FreeTDS converts the UCS-2 to the client character set of your choice. To set the client character set, you can set client charset in freetds.conf. See The freetds.conf File and Localization and TDS 7.0.

Support

If you find any bugs, or you would like to request enhancements, please submit your comments on the project's GitHub Issues page.

Additionally, I do subscribe to several PostgreSQL mailing lists including pgsql-general and pgsql-hackers. If tds_fdw is mentioned in an email sent to one of those lists, I typically see it.