讀寫SQL_Server數據(tds_fdw)
更新時間 2024-05-31 18:52:37
最近更新時間: 2024-05-31 18:52:37
分享文章
本小節主要介紹RDS-PostgreSQL的tds_fdw插件使用方法。
操作場景
RDS-PostgreSQL支持 tds_fdw插件,可以連接到使用表格數據流(TDS)協議的數據庫,如Sybase數據庫和Microsoft SQL Server。
前提條件
- 請確保您的實例內核大版本滿足,本插件所支持的內核版本,請參考支持的版本插件列表。
注意事項
- 請確保目標數據庫的網絡與您的數據庫實例互通。
插件使用
- 安裝插件
CREATE EXTENSION IF NOT EXISTS tds_fdw;
- 卸載插件
DROP EXTENSION IF EXISTS tds_fdw;
使用示例
-- 1.創建服務器,示例如下:
CREATE SERVER mssql_svr
FOREIGN DATA WRAPPER tds_fdw
OPTIONS (servername '<SQL_SERVER_VPC_IP>', port 'SQL_SERVER_VPC_DB_PORT', database 'testdb', tds_version '7.1');
-- 說明:服務器定義中的servername必須配置為SQL Server的內網地址,port必須配置為SQL Server的內網端口。
-- 2.創建外部表。您可以通過多種方式創建外部表:
-- 2.1使用table_name定義創建外部表,示例如下:
CREATE FOREIGN TABLE mssql_table1 (
id integer,
data varchar)
SERVER mssql_svr
OPTIONS (table_name 'dbo.mytable', row_estimate_method 'showplan_all');
-- 2.2使用schema_name和table_name定義創建外部表,示例如下:
CREATE FOREIGN TABLE mssql_table2 (
id integer,
data varchar)
SERVER mssql_svr
OPTIONS (schema_name 'dbo', table_name 'mytable', row_estimate_method 'showplan_all');
--2.3使用query定義創建外部表,示例如下:
CREATE FOREIGN TABLE mssql_table3 (
id integer,
data varchar)
SERVER mssql_svr
OPTIONS (query 'SELECT * FROM dbo.mytable', row_estimate_method 'showplan_all');
--2.4使用遠程列名創建外部表,示例如下:
CREATE FOREIGN TABLE mssql_table4 (
id integer,
col2 varchar OPTIONS (column_name 'data'))
SERVER mssql_svr
OPTIONS (schema_name 'dbo', table_name 'mytable', row_estimate_method 'showplan_all');
--2.5創建用戶映射,示例如下:
CREATE USER MAPPING FOR root
SERVER mssql_svr
OPTIONS (username 'test', password 'Pgdb12%^');
--2.6導入外部模式,示例如下:
IMPORT FOREIGN SCHEMA dbo
EXCEPT (mssql_table)
FROM SERVER mssql_svr
INTO public
OPTIONS (import_default 'true');
- <SQL_SERVER_VPC_IP>:SQL Server的內網地址。
- <SQL_SERVER_VPC_DB_PORT>:SQL Server的內網端口。
常見問題
此插件使用方法與開源方法一致,請詳見tds_fdw開源社區。