Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengimpor data ke PostgreSQL di Amazon RDS
Misalkan Anda memiliki deployment PostgreSQL yang ingin Anda pindahkan ke Amazon RDS. Kompleksitas tugas Anda bergantung pada ukuran basis data Anda dan jenis objek basis data yang Anda transfer. Misalnya, pertimbangkan basis data yang berisi set data dalam urutan gigabyte, bersama dengan prosedur yang tersimpan dan pemicu. Basis data seperti itu akan menjadi lebih rumit dibandingkan basis data sederhana dengan hanya beberapa megabyte data uji dan tanpa pemicu atau prosedur tersimpan.
Kami menyarankan Anda untuk menggunakan alat migrasi basis data PostgreSQL native dalam kondisi berikut:
-
Anda memiliki migrasi yang homogen, yaitu Anda bermigrasi dari basis data dengan mesin basis data yang sama dengan basis data target.
-
Anda memigrasikan seluruh basis data.
-
Alat native memungkinkan Anda untuk memigrasi sistem Anda dengan waktu henti minimal.
Dalam kebanyakan kasus lain, melakukan migrasi AWS database menggunakan Database Migration Service (AWS DMS) adalah pendekatan terbaik. AWS DMS dapat memigrasikan database tanpa downtime dan, untuk banyak mesin database, melanjutkan replikasi yang sedang berlangsung sampai Anda siap untuk beralih ke database target. Anda dapat bermigrasi ke mesin database yang sama atau mesin database yang berbeda menggunakan AWS DMS. Jika Anda bermigrasi ke mesin database yang berbeda dari database sumber Anda, Anda dapat menggunakan AWS Schema Conversion Tool (AWS SCT). Anda gunakan AWS SCT untuk memigrasikan objek skema yang tidak dimigrasikan oleh. AWS DMS Untuk informasi lebih lanjut tentang AWS DMS, lihat Apa itu? AWS Database Migration Service
Ubah grup parameter DB Anda untuk menyertakan pengaturan berikut hanya untuk impor Anda. Selain itu, uji juga pengaturan parameter guna menemukan pengaturan yang paling efisien untuk instans DB Anda. Anda juga perlu mengembalikan parameter ini ke nilai produksi setelah pengimporan selesai.
Ubah pengaturan instans DB Anda sebagai berikut:
-
Nonaktifkan pencadangan instans DB (ubah backup_retention menjadi 0).
-
Nonaktifkan Multi-AZ.
Ubah grup parameter DB Anda untuk menyertakan pengaturan berikut. Anda sebaiknya hanya menggunakan pengaturan ini saat mengimpor data. Selain itu, uji juga pengaturan parameter guna menemukan pengaturan yang paling efisien untuk instans DB Anda. Anda juga perlu mengembalikan parameter ini ke nilai produksi setelah pengimporan selesai.
| Parameter | Nilai yang disarankan saat mengimpor | Deskripsi |
|---|---|---|
|
|
524288, 1048576, 2097152 atau 4194304 (dalam KB). Pengaturan ini setara dengan 512 MB, 1 GB, 2 GB, dan 4 GB. |
Nilai untuk pengaturan ini bergantung pada ukuran host Anda. Parameter ini digunakan selama pernyataan CREATE INDEX dan setiap perintah paralel dapat menggunakan memori sebanyak ini. Hitung nilai terbaik agar Anda tidak mengatur nilai ini terlalu tinggi dan kehabisan memori. |
|
|
256 (untuk versi 9.6), 4096 (untuk versi 10 dan yang lebih tinggi) |
Ukuran maksimum untuk membiarkan WAL tumbuh selama pemeriksaan otomatis. Meningkatkan parameter ini dapat meningkatkan jumlah waktu yang dibutuhkan untuk pemulihan setelah crash. Parameter ini menggantikan Untuk PostgreSQL versi 9.6, nilai ini dalam unit 16 MB. Untuk versi yang lebih baru, nilainya dalam unit 1 MB. Misalnya, dalam versi 9.6, 128 berarti 128 potongan yang masing-masing berukuran 16 MB. Misalnya, dalam versi 12.4, 2048 berarti 2048 potongan yang masing-masing berukuran 1 MB. |
|
|
1800 |
Nilai untuk pengaturan ini memungkinkan rotasi WAL yang lebih jarang. |
|
|
Mati |
Nonaktifkan pengaturan ini untuk mempercepat penulisan. Menonaktifkan parameter ini dapat meningkatkan risiko kehilangan data jika terjadi crash pada server (jangan menonaktifkan FSYNC). |
|
|
8192 |
Ini adalah nilai dalam unit 8 KB. Ini juga membantu kecepatan pembuatan WAL Anda |
|
|
0 |
Nonaktifkan parameter vakum otomatis PostgreSQL saat Anda memuat data agar sumber daya tidak digunakan |
Gunakan perintah pg_dump -Fc (terkompresi) atau pg_restore -j (paralel) dengan pengaturan ini.
catatan
Perintah PostgreSQL pg_dumpall memerlukan izin super_user yang tidak diberikan saat Anda membuat instans DB, sehingga tidak dapat digunakan untuk mengimpor data.