Gunakan ekstensi tds_fdw untuk mengakses data di database SQL Server.
Prasyarat
-
Instans RDS PostgreSQL Anda harus menjalankan versi mesin utama 11 atau lebih baru.
-
Jika instans memenuhi persyaratan versi mesin utama tetapi tidak mendukung ekstensi tersebut, lakukan upgrade ke versi mesin minor. Misalnya, untuk instans RDS PostgreSQL 17, versi mesin minor harus 20241030 atau lebih baru. Untuk petunjuknya, lihat Upgrade versi mesin minor.
-
Tambahkan blok CIDR VPC dari instans RDS PostgreSQL Anda, seperti
172.xx.xx.xx/16, ke daftar putih alamat IP instans SQL Server.CatatanPada halaman Database Connection untuk instans RDS PostgreSQL Anda, pastikan bahwa Network Type adalah VPC, catat blok CIDR VPC, seperti
172.x.x.x/16, dan verifikasi bahwa Intranet Port adalah5432.
Informasi latar belakang
tds_fdw adalah pembungkus data asing PostgreSQL yang terhubung ke database yang menggunakan protokol Tabular Data Stream (TDS), seperti Microsoft SQL Server.
Untuk detail selengkapnya, lihat dokumentasi resmi tds_fdw.
Buat ekstensi
Hubungkan ke instans Anda dan jalankan perintah berikut:
create extension tds_fdw;
Gunakan ekstensi
-
Buat server asing. Contohnya:
CREATE SERVER mssql_svr FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername '<endpoint>', port '<port>', database 'tds_fdw_test', tds_version '7.1');CatatanDalam definisi server,
servernameharus diatur ke titik akhir internal SQL Server, danportharus diatur ke port internal SQL Server. -
Buat tabel asing. Anda dapat menggunakan salah satu metode berikut:
-
Gunakan opsi
table_name. Contohnya:CREATE FOREIGN TABLE mssql_table ( id integer, data varchar) SERVER mssql_svr OPTIONS (table_name 'dbo.mytable', row_estimate_method 'showplan_all'); -
Gunakan opsi
schema_namedantable_name. Contohnya:CREATE FOREIGN TABLE mssql_table ( id integer, data varchar) SERVER mssql_svr OPTIONS (schema_name 'dbo', table_name 'mytable', row_estimate_method 'showplan_all'); -
Gunakan opsi
query. Contohnya:CREATE FOREIGN TABLE mssql_table ( id integer, data varchar) SERVER mssql_svr OPTIONS (query 'SELECT * FROM dbo.mytable', row_estimate_method 'showplan_all'); -
Petakan kolom ke nama kolom remote. Contohnya:
CREATE FOREIGN TABLE mssql_table ( id integer, col2 varchar OPTIONS (column_name 'data')) SERVER mssql_svr OPTIONS (schema_name 'dbo', table_name 'mytable', row_estimate_method 'showplan_all');
-
-
Buat pemetaan pengguna. Contohnya:
CREATE USER MAPPING FOR postgres SERVER mssql_svr OPTIONS (username 'sa', password '123456'); -
Impor skema asing. Contohnya:
IMPORT FOREIGN SCHEMA dbo EXCEPT (mssql_table) FROM SERVER mssql_svr INTO public OPTIONS (import_default 'true');