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.
CentOS 7 | Rocky Linux 8 | Ubuntu 20.04 | |
---|---|---|---|
PostgreSQL 9.6 | |||
PostgreSQL 10 | |||
PostgreSQL 11 | |||
PostgreSQL 12 | |||
PostgreSQL 13 | |||
PostgreSQL 14 |
See installing tds_fdw on CentOS.
See installing tds_fdw on Ubuntu.
See installing tds_fdw on Debian.
See installing tds_fdw on openSUSE.
See installing tds_fdw on OSX.
See installing tds_fdw on Alpine.
See creating a foreign server.
See importing a foreign schema.
See variables.
EXPLAIN
EXPLAIN (VERBOSE)
will show the query issued on the remote system.
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.
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.
It is handled by FreeTDS, so this needs to be configured at the freetds.conf
. Seee The freetds.conf File and at freetds.conf settings
look for encryption
.
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.
See Debugging
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。