Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan basis data SQL Server menggunakan ekstensi tds_fdw
Anda dapat menggunakan ekstensi tds_fdw PostgreSQL untuk mengakses basis data yang mendukung protokol aliran data tabular (TDS), seperti basis data Sybase dan Microsoft SQL Server. Pembungkus data asing ini memungkinkan Anda terhubung dari instans DB RDS for PostgreSQL ke basis data yang menggunakan protokol TDS, termasuk Amazon RDS for Microsoft SQL Server. Untuk informasi lebih lanjut, lihat dokumentasi tds-fdw/tds_fdw
Ekstensi tds_fdw didukung pada Amazon RDS for PostgreSQL versi 14.2, 13.6, dan rilis yang lebih baru.
Mengatur DB Aurora PostgreSQL untuk menggunakan ekstensi tds_fdw
Dalam prosedur berikut, Anda dapat menemukan contoh pengaturan dan penggunaan tds_fdw dengan instans DB RDS for PostgreSQL . Sebelum dapat terhubung ke basis data SQL Server menggunakan tds_fdw, Anda harus mendapatkan detail berikut untuk instans:
Nama host atau titik akhir. Untuk instans DB RDS for SQL Server, Anda dapat menemukan titik akhir menggunakan Konsol. Pilih tab Konektivitas & keamanan, lalu lihat di bagian "Titik akhir dan port".
Nomor port. Nomor port default untuk Microsoft SQL Server adalah 1433.
Nama basis data. Pengidentifikasi DB.
Anda juga perlu memberikan akses di grup keamanan atau daftar kontrol akses (ACL) untuk port SQL Server, 1433. Baik instans DB RDS for PostgreSQL dan instans DB RDS for SQL Server memerlukan akses ke port 1433. Jika akses tidak dikonfigurasi dengan benar, Anda akan melihat pesan kesalahan seperti berikut saat mencoba membuat kueri Microsoft SQL Server:
ERROR: DB-Library error: DB #: 20009, DB Msg: Unable to connect:
Adaptive Server is unavailable or does not exist (mssql2019.aws-region.rds.amazonaws.com), OS #: 0, OS Msg: Success, Level: 9
Untuk menggunakan tds_fdw agar terhubung ke basis data SQL Server
Hubungkan ke instans DB PostgreSQL menggunakan akun yang memiliki peran
rds_superuser:psql --host=your-DB-instance.aws-region.rds.amazonaws.com --port=5432 --username=test –-passwordInstal ekstensi
tds_fdw:test=>CREATE EXTENSION tds_fdw;CREATE EXTENSION
Setelah ekstensi diinstal pada instans DB RDS for PostgreSQL, Anda dapat mengatur server asing.
Untuk membuat server asing
Lakukan tugas-tugas ini pada instans DB RDS for PostgreSQL menggunakan akun yang memiliki hak istimewa rds_superuser.
Membuat server asing pada instans DB RDS for PostgreSQL:
test=>CREATE SERVERsqlserverdbFOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019.aws-region.rds.amazonaws.com', port '1433', database 'tds_fdw_testing');CREATE SERVERUntuk mengakses data non-ASCII di SQLServer samping, buat tautan server dengan opsi character_set di Aurora :
test=>CREATE SERVERsqlserverdbFOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019.aws-region.rds.amazonaws.com', port '1433', database 'tds_fdw_testing', character_set'UTF-8');CREATE SERVERBerikan izin kepada pengguna yang tidak memiliki hak istimewa peran
rds_superuser, misalnyauser1:test=>GRANT USAGE ON FOREIGN SERVERsqlserverdbTOuser1;Hubungkan sebagai user1, lalu buat pemetaan kepada pengguna SQL Server:
test=>CREATE USER MAPPING FOR user1 SERVERsqlserverdbOPTIONS (username 'sqlserveruser', password 'password');CREATE USER MAPPINGBuat tabel asing yang dihubungkan ke tabel SQL Server:
test=>CREATE FOREIGN TABLE mytab (a int) SERVERsqlserverdbOPTIONS (table 'MYTABLE');CREATE FOREIGN TABLEBuat kueri tabel asing:
test=>SELECT * FROM mytab;a --- 1 (1 row)
Gunakan enkripsi bergerak untuk koneksi
Koneksi dari RDS for PostgreSQL ke SQL Server menggunakan enkripsi bergerak (TLS/SSL) bergantung pada konfigurasi basis data SQL Server. Jika SQL Server tidak dikonfigurasi untuk enkripsi, klien RDS for PostgreSQL yang membuat permintaan ke basis data SQL Server akan dikembalikan ke status tidak terenkripsi.
Anda dapat menerapkan enkripsi untuk koneksi ke instans DB RDS for SQL Server dengan mengatur parameter rds.force_ssl. Untuk mempelajari caranya, lihat Memaksa koneksi ke instans DB untuk menggunakan SSL. Untuk informasi selengkapnya tentang konfigurasi SSL/TLS untuk RDS for SQL Server, lihat Menggunakan SSL dengan instans DB Microsoft SQL Server.