Batasan yang diketahui untuk menggunakan database PostgreSQL sebagai sumber meliputi:
Ekstensi
pglogical
tidak mendukung replikasi kolom yang dihasilkan untuk PostgreSQL 12+.Perubahan pada struktur tabel (DDL) tidak direplikasi melalui perintah DDL standar, tetapi hanya dengan perintah yang dieksekusi menggunakan ekstensi
pglogical
yang digunakan untuk replikasi. Ini mencakup perubahan padaenum
jenis.Misalnya,
pglogical
menyediakan fungsipglogical.replicate_ddl_command
yang memungkinkan DDL dijalankan di database sumber dan replika pada titik yang konsisten. Pengguna yang menjalankan perintah ini di sumber harus sudah ada di replika.Untuk mereplikasi data untuk tabel baru, Anda harus menggunakan perintah
pglogical.replication_set_add_table
untuk menambahkan tabel baru ke set replikasi yang ada.Untuk mempelajari replikasi DDL lebih lanjut saat migrasi sedang berlangsung, lihat bagian tentang kualitas migrasi.
Untuk tabel yang tidak memiliki kunci utama, Database Migration Service mendukung migrasi snapshot awal dan pernyataan
INSERT
selama fase pengambilan data perubahan (CDC). Anda harus memigrasikan pernyataanUPDATE
danDELETE
secara manual.Database Migration Service tidak memigrasikan data dari tampilan yang diwujudkan, hanya skema tampilan. Untuk mengisi tampilan, jalankan perintah berikut:
REFRESH MATERIALIZED VIEW view_name
.Status
SEQUENCE
(misalnya,last_value
) pada tujuan AlloyDB baru mungkin berbeda dari statusSEQUENCE
sumber.Tabel
UNLOGGED
danTEMPORARY
tidak dan tidak dapat direplikasi.Jenis data Large Object tidak didukung. Detail selengkapnya di bagian tentang akurasi migrasi.
- Hanya ekstensi dan bahasa prosedural yang didukung AlloyDB untuk PostgreSQL yang dapat dimigrasikan.
Database Migration Service tidak mendukung migrasi dari replika baca yang dalam mode pemulihan.
Database Migration Service tidak mendukung sumber Amazon RDS tempat paket ekstensi AWS SCT diterapkan.
- Fungsi yang ditentukan pengguna yang ditulis dalam C tidak dapat dimigrasikan, kecuali untuk fungsi yang diinstal dalam database PostgreSQL saat Anda menginstal ekstensi yang didukung oleh AlloyDB.
Jika ada ekstensi dan bahasa prosedural lain dalam database sumber, atau jika versinya tidak didukung, maka saat Anda menguji atau memulai tugas migrasi, tugas tersebut akan gagal.
Database yang ditambahkan setelah tugas migrasi dimulai tidak akan dimigrasikan.
- Anda tidak dapat memilih tabel atau skema tertentu saat melakukan migrasi menggunakan Database Migration Service.
Database Migration Service memigrasikan semua tabel dan skema, kecuali yang berikut:
- Skema informasi (
information_schema
). - Tabel apa pun yang diawali dengan
pg
, misalnya,pg_catalog
. Untuk mengetahui daftar lengkap katalog PostgreSQL yang dimulai denganpg
, lihat Katalog sistem PostgreSQL dalam dokumentasi PostgreSQL. - Informasi tentang pengguna dan peran pengguna tidak dimigrasikan.
- Skema informasi (
Jika database terenkripsi memerlukan kunci enkripsi yang dikelola pelanggan untuk mendekripsi database, dan jika Database Migration Service tidak memiliki akses ke kunci tersebut, database tidak dapat dimigrasikan.
Namun, jika data pelanggan dienkripsi oleh ekstensi
pgcrypto
, maka data dapat dimigrasikan dengan Database Migration Service (karena AlloyDB mendukung ekstensi tersebut).Database Migration Service juga mendukung migrasi data dari database Amazon Aurora atau Amazon RDS terenkripsi karena database ini menangani dekripsi secara transparan di layanannya. Untuk mengetahui informasi selengkapnya, lihat Mengenkripsi resource Amazon Aurora dan Mengenkripsi resource Amazon RDS.
Database AlloyDB tujuan dapat ditulis selama migrasi untuk memungkinkan perubahan DDL diterapkan jika diperlukan. Berhati-hatilah agar tidak membuat perubahan apa pun pada konfigurasi database atau struktur tabel yang dapat mengganggu proses migrasi atau memengaruhi integritas data.
Perilaku pemicu bergantung pada cara pemicu dikonfigurasi. Perilaku defaultnya adalah tidak akan dipicu, tetapi jika dikonfigurasi menggunakan pernyataan
ALTER EVENT TRIGGER
atauALTER TABLE
dan status pemicu disetel ke replika atau selalu, maka akan dipicu pada replika selama replikasi.Fungsi dengan penentu keamanan akan dibuat oleh
alloydbexternalsync
di primer AlloyDB. Saat dijalankan oleh pengguna mana pun, perintah ini akan dijalankan dengan hak istimewaalloydbexternalsync
yang memiliki peranalloydbsuperuser
danalloydbreplica
. Sebaiknya batasi penggunaan fungsi penentu keamanan hanya untuk beberapa pengguna. Untuk melakukannya, pengguna harus mencabut hak istimewa PUBLIC default, lalu memberikan hak istimewa eksekusi secara selektif.Metode konektivitas antarmuka Private Service Connect hanya didukung untuk migrasi ke instance tujuan yang sudah ada. Jika Anda ingin menggunakan konektivitas IP pribadi dan bermigrasi ke instance tujuan baru, gunakan peering VPC.
Batasan untuk migrasi ke cluster tujuan yang ada
- Cluster tujuan yang ada harus kosong atau hanya berisi data konfigurasi sistem. Migrasi ke cluster tujuan yang sudah ada yang berisi data pengguna (seperti tabel) tidak didukung.
- Anda hanya dapat mengonfigurasi satu tugas migrasi per cluster tujuan.
- Migrasi ke cluster dengan cluster sekunder tidak didukung.
- Migrasi ke cluster dengan instance kumpulan baca didukung.
Untuk mengetahui informasi selengkapnya tentang cluster dan instance AlloyDB untuk PostgreSQL, lihat Ringkasan AlloyDB untuk PostgreSQL.
Kuota
- Hingga 2.000 profil koneksi dan 1.000 tugas migrasi dapat ada kapan saja. Untuk mengosongkan ruang, tugas migrasi (termasuk yang telah selesai) dan profil koneksi dapat dihapus.