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 klaster DB Aurora PostgreSQL ke basis data yang menggunakan protokol TDS, termasuk Amazon RDS for Microsoft SQL Server. Untuk informasi selengkapnya, lihat fdw/tds_fdw dokumentasi tds-
Ekstensi tds_fdw didukung pada Amazon Aurora PostgreSQL versi 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 klaster DB Aurora 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 klaster DB Aurora 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 utama klaster DB Aurora PostgreSQL menggunakan akun yang memiliki peran
rds_superuser:psql --host=your-cluster-name-instance-1.aws-region.rds.amazonaws.com --port=5432 --username=test –-passwordInstal ekstensi
tds_fdw:test=>CREATE EXTENSION tds_fdw;CREATE EXTENSION
Setelah ekstensi diinstal pada klaster DB Aurora PostgreSQL , Anda dapat mengatur server asing.
Untuk membuat server asing
Lakukan tugas-tugas ini pada klaster DB Aurora PostgreSQL menggunakan akun yang memiliki hak istimewa rds_superuser.
Membuat server asing pada klaster DB Aurora 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 sisi SQLServer, buat tautan server dengan opsi character_set pada klaster DB Aurora PostgreSQL :
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 Aurora PostgreSQL RDS untuk PostgreSQL Server. TLS/SSL 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 SSL/TLS konfigurasi untuk RDS untuk SQL Server, lihat Menggunakan SSL dengan instans Microsoft SQL Server DB.