- 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.

Dengan menggunakan database Postgre yang dapat SQL diangkut untuk RDS Amazon, Anda dapat memindahkan database SQL Postgre di antara dua instans DB. Ini adalah cara yang sangat cepat untuk memigrasikan basis data besar antara instans DB yang berbeda. Untuk menggunakan pendekatan ini, instans DB Anda harus menjalankan versi utama SQL Postgre yang sama.

Kemampuan ini mengharuskan Anda menginstal ekstensi pg_transport di instans DB sumber dan tujuan. Ekstensi pg_transport menyediakan mekanisme transportasi fisik yang memindahkan file basis data dengan pemrosesan minimal. Mekanisme ini memindahkan data jauh lebih cepat daripada proses dump dan load tradisional, dengan waktu henti yang lebih sedikit.

catatan

Database Postgre yang SQL dapat diangkut tersedia RDS untuk Postgre SQL 11.5 dan lebih tinggi, dan untuk Postgre versi 10.10 dan lebih tinggi. RDS SQL

Untuk mengangkut instans Postgre SQL DB dari satu RDS instans Postgre SQL DB ke instans Postgre DB lainnya, pertama-tama Anda menyiapkan instance sumber dan tujuan seperti yang dijelaskan dalam. Menyiapkan instans DB untuk transportasi Anda kemudian dapat mentranspor basis data menggunakan fungsi yang dijelaskan dalam Mengangkut database Postgre SQL.

Apa yang terjadi selama transportasi basis data

Fitur database yang SQL dapat diangkut Postgre menggunakan model tarik untuk mengimpor database dari instance DB sumber ke tujuan. Fungsi transport.import_from_server membuat basis data bergerak pada instans DB tujuan. Basis data bergerak tidak dapat diakses pada instans DB tujuan selama durasi transportasi.

Ketika transportasi dimulai, semua sesi saat ini pada basis data sumber berakhir. Setiap basis data selain basis data sumber pada instans DB sumber tidak terpengaruh oleh transportasi.

Basis data sumber dibuat menjadi mode hanya-baca khusus. Saat berada dalam mode ini, Anda dapat terhubung ke basis data sumber dan menjalankan kueri hanya baca. Namun, kueri berkemampuan tulis dan beberapa jenis perintah lainnya diblokir. Hanya basis data sumber spesifik yang ditranspor yang terpengaruh oleh pembatasan ini.

Selama transportasi, Anda tidak dapat memulihkan instans DB tujuan ke suatu titik waktu. Ini karena transportasi tidak transaksional dan tidak menggunakan log SQL penulisan Postgre untuk merekam perubahan. Jika instans DB tujuan mengaktifkan pencadangan otomatis, pencadangan otomatis diambil setelah transportasi selesai. Point-in-timepemulihan tersedia beberapa kali setelah pencadangan selesai.

Jika transportasi gagal, ekstensi pg_transport berupaya untuk membatalkan semua perubahan ke instans DB sumber dan tujuan. Ini termasuk menghapus basis data yang ditranspor sebagian di tujuan. Bergantung pada jenis kegagalan, basis data sumber dapat terus menolak kueri berkemampuan tulis. Jika ini terjadi, gunakan perintah berikut untuk memungkinkan kueri berkemampuan tulis.

ALTER DATABASE db-name SET default_transaction_read_only = false;

Keterbatasan untuk menggunakan database Postgre SQL yang dapat diangkut

Basis data yang dapat ditranspor memiliki batasan berikut:

  • Replika baca – Anda tidak dapat menggunakan basis data yang dapat ditranspor pada replika baca atau instans induk replika baca.

  • Jenis kolom yang tidak didukung – Anda tidak dapat menggunakan jenis data reg dalam tabel basis data apa pun yang akan Anda transportasikan dengan metode ini. Jenis ini tergantung pada sistem katalog objek IDs (OIDs), yang sering berubah selama transportasi.

  • Tablespace – Semua objek basis data sumber harus dalam tablespace pg_default default.

  • Kompatibilitas - Instance DB sumber dan tujuan harus menjalankan versi utama SQL Postgre yang sama.

  • Ekstensi — Instans DB sumber hanya dapat memiliki penginstalan pg_transport.

  • Peran dan ACLs — Hak akses database sumber dan informasi kepemilikan tidak dibawa ke database tujuan. Semua objek basis data dibuat dan dimiliki oleh pengguna tujuan transportasi lokal.

  • Transportasi bersamaan — Instans DB tunggal dapat mendukung hingga 32 transportasi bersamaan, termasuk impor dan ekspor, jika proses pekerja telah dikonfigurasi dengan benar.

  • RDShanya untuk instans Postgre SQL DB — Database Postgre yang dapat SQL diangkut hanya didukung untuk instans Postgre DB. RDS SQL Anda tidak dapat menggunakannya dengan database lokal atau database yang berjalan di Amazon. EC2