All Products
Search
Document Center

ApsaraDB RDS:Kueri database SQL Server (tds_fdw)

Last Updated:Jun 21, 2026

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.

    Catatan

    Pada 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 adalah 5432.

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

  1. 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');
    Catatan

    Dalam definisi server, servername harus diatur ke titik akhir internal SQL Server, dan port harus diatur ke port internal SQL Server.

  2. 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_name dan table_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');
  3. Buat pemetaan pengguna. Contohnya:

    CREATE USER MAPPING FOR postgres
      SERVER mssql_svr 
      OPTIONS (username 'sa', password '123456');
  4. Impor skema asing. Contohnya:

    IMPORT FOREIGN SCHEMA dbo
      EXCEPT (mssql_table)
      FROM SERVER mssql_svr
      INTO public
      OPTIONS (import_default 'true');