Mengimpor SQL database Postgre dari instans Amazon EC2 - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengimpor SQL database Postgre dari instans Amazon EC2

Jika Anda memiliki data di SQL server Postgre pada EC2 instans Amazon dan ingin memindahkannya ke instans Postgre SQL DB, Anda dapat mengikuti proses ini untuk memigrasikan data.

  1. Buat berkas menggunakan pg_dump yang berisi data yang akan dimuat

  2. Buat instans DB target

  3. Gunakan psql untuk membuat basis data pada instans DB dan muat data

  4. Buat snapshot DB dari instans DB

Bagian berikut memberikan rincian lebih lanjut pada setiap langkah yang tercantum di atas.

Langkah 1: Buat file menggunakan pg_dump yang berisi data yang akan dimuat

pg_dumpUtilitas menggunakan COPY perintah untuk membuat skema dan dump data dari database SQL Postgre. Skrip dump yang dibuat oleh pg_dump memuat data ke dalam basis data dengan nama yang sama dan membuat ulang tabel, indeks, dan kunci asing. Anda dapat menggunakan perintah pg_restore dan parameter -d untuk memulihkan data ke basis data dengan nama yang berbeda.

Sebelum Anda membuat dump data, Anda harus melakukan kueri tabel yang akan di-dump untuk mendapatkan jumlah baris sehingga Anda dapat mengonfirmasi jumlah pada instans DB target.

Perintah berikut membuat file dump bernama mydb2dump.sql untuk basis data bernama mydb2.

prompt>pg_dump dbname=mydb2 -f mydb2dump.sql

Langkah 2: Buat instans DB target

Buat instans Postgre SQL DB target menggunakan RDS konsol Amazon, AWS CLI, atau. API Buat instans dengan pengaturan retensi cadangan yang diatur ke 0 dan nonaktifkan Multi-AZ. Hal ini akan mempercepat impor data. Anda harus membuat basis data pada instans tersebut sebelum data dapat di-dump. Basis data tersebut bisa memiliki nama yang sama dengan basis data yang berisi data yang di-dump. Anda juga dapat membuat basis data dengan nama berbeda. Dalam kasus ini, gunakan perintah pg_restore dan parameter -d untuk memulihkan data ke basis data yang baru diberi nama.

Misalnya, perintah berikut dapat digunakan untuk mengeluarkan, memulihkan, dan mengubah nama basis data.

pg_dump -Fc -v -h [endpoint of instance] -U [master username] [database] > [database].dump createdb [new database name] pg_restore -v -h [endpoint of instance] -U [master username] -d [new database name] [database].dump

Langkah 3: Gunakan psql untuk membuat basis data pada instans DB dan muat data

Anda dapat menggunakan koneksi yang sama yang Anda gunakan untuk menjalankan perintah pg_dump untuk terhubung ke instans DB target dan membuat ulang basis data. Menggunakan psql, Anda bisa menggunakan nama pengguna master dan kata sandi master untuk membuat basis data pada instans DB

Contoh berikut menggunakan psql dan file dump bernama mydb2dump.sql untuk membuat database bernama mydb2 pada instance Postgre DB yang disebut mypginstance: SQL

Untuk Linux, macOS, atau Unix:

psql \ -f mydb2dump.sql \ --host mypginstance.555555555555.aws-region.rds.amazonaws.com \ --port 8199 \ --username myawsuser \ --password password \ --dbname mydb2

Untuk Windows:

psql ^ -f mydb2dump.sql ^ --host mypginstance.555555555555.aws-region.rds.amazonaws.com ^ --port 8199 ^ --username myawsuser ^ --password password ^ --dbname mydb2
catatan

Tentukan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

Langkah 4: Buat snapshot DB dari instans DB

Setelah Anda memverifikasi bahwa data dimuat ke instans DB Anda, kami sarankan Anda membuat snapshot DB dari instans Postgre SQL DB target. Snapshot DB adalah cadangan lengkap instans DB Anda yang dapat digunakan untuk memulihkan instans DB Anda ke status yang diketahui. Dengan snapshot DB yang diambil segera setelah pemuatan, Anda tidak perlu memuat data lagi jika terjadi hal yang tidak diinginkan. Anda juga dapat menggunakan snapshot tersebut untuk memulai instans DB baru. Untuk informasi selengkapnya tentang cara membuat snapshot DB secara manual, lihat Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS.