Panduan ini menjelaskan cara memigrasikan data antara cluster yang mengaktifkan enkripsi data transparan (TDE) dan cluster yang tidak dienkripsi menggunakan pg_dump dan pg_restore.
Kedua arah migrasi—TDE ke non-terenkripsi dan sebaliknya—didukung dan menggunakan alat pencadangan logis PostgreSQL standar.
Migrasi logis menggunakan pg_dump mendekode data terenkripsi secara langsung di
sumber dan membuangnya sebagai pernyataan SQL yang tidak dienkripsi. Saat Anda memulihkan data, cluster tujuan akan menulis data sesuai dengan setelan enkripsinya sendiri.
Cluster tujuan mengenkripsi data jika TDE diaktifkan, dan menulis sebagai teks biasa jika TDE dinonaktifkan.
Sebelum memulai
- Pastikan Anda telah menginstal AlloyDB Omni. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni menggunakan RPM.
- Jika Anda bermigrasi ke server database yang mendukung TDE, pastikan Anda telah menyiapkan penyedia pengelolaan kunci. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster yang mendukung TDE.
Memigrasikan database yang mendukung TDE ke database yang tidak mendukung TDE
Keluarkan database dari server database yang mendukung TDE ke file di host.
/usr/lib/postgresql/18/bin/pg_dump -U postgres -d DATABASE_NAME > /tmp/decrypted_dump.sqlMulai server AlloyDB Omni yang tidak mengaktifkan TDE dengan mengikuti petunjuk di Menginstal AlloyDB Omni menggunakan RPM.
Pulihkan file dump ke server database yang tidak dienkripsi.
/usr/lib/postgresql/18/bin/psql -U postgres -c "CREATE DATABASE DATABASE_NAME" /usr/lib/postgresql/18/bin/psql -U postgres -d DATABASE_NAME < /tmp/decrypted_dump.sql
Memigrasikan database yang tidak mengaktifkan TDE ke database yang mengaktifkan TDE
Gunakan
pg_dumpuntuk membuang database dari server database yang tidak dienkripsi./usr/lib/postgresql/18/bin/pg_dump -U postgres -d DATABASE_NAME > /tmp/src_plaintext_dump.sqlMulai server AlloyDB Omni yang mendukung TDE dengan mengikuti petunjuk di bagian Membuat cluster yang mendukung TDE.
Pulihkan ke server database yang mendukung TDE. Data dienkripsi secara transparan saat ditulis.
/usr/lib/postgresql/18/bin/psql -U postgres -c "CREATE DATABASE DATABASE_NAME" /usr/lib/postgresql/18/bin/psql -U postgres -d DATABASE_NAME < /tmp/src_plaintext_dump.sql