Mengangkut SQL database Postgre ke tujuan dari sumber - 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.

Mengangkut SQL database Postgre ke tujuan dari sumber

Setelah Anda menyelesaikan proses yang dijelaskan dalam Menyiapkan untuk mengangkut database Postgre SQL, Anda dapat memulai transportasi. Untuk melakukannya, jalankan fungsi transport.import_from_server pada instans DB tujuan. Dalam sintaks berikut ini Anda dapat menemukan parameter fungsi.

SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);

Nilai false yang ditunjukkan dalam contoh memberi tahu fungsi bahwa ini bukan dry run. Untuk menguji penyiapan transportasi, Anda dapat menentukan true untuk opsi dry_run saat memanggil fungsi, seperti yang ditunjukkan berikut ini:

postgres=> SELECT transport.import_from_server( 'docs-lab-source-db.666666666666aws-region.rds.amazonaws.com', 5432, 'postgres', '********', 'labdb', '******', true); INFO: Starting dry-run of import of database "labdb". INFO: Created connections to remote database (took 0.03 seconds). INFO: Checked remote cluster compatibility (took 0.05 seconds). INFO: Dry-run complete (took 0.08 seconds total). import_from_server -------------------- (1 row)

INFOGaris adalah output karena pg_transport.timing parameter diatur ke nilai defaultnya,true. Atur dry_run ke false ketika Anda menjalankan perintah dan basis data sumber diimpor ke tujuan, seperti yang ditunjukkan berikut:

INFO: Starting import of database "labdb". INFO: Created connections to remote database (took 0.02 seconds). INFO: Marked remote database as read only (took 0.13 seconds). INFO: Checked remote cluster compatibility (took 0.03 seconds). INFO: Signaled creation of PITR blackout window (took 2.01 seconds). INFO: Applied remote database schema pre-data (took 0.50 seconds). INFO: Created connections to local cluster (took 0.01 seconds). INFO: Locked down destination database (took 0.00 seconds). INFO: Completed transfer of database files (took 0.24 seconds). INFO: Completed clean up (took 1.02 seconds). INFO: Physical transport complete (took 3.97 seconds total). import_from_server -------------------- (1 row)

Fungsi ini mengharuskan Anda memberikan kata sandi pengguna basis data. Oleh karena itu, kami menyarankan Anda untuk mengubah kata sandi dari peran pengguna yang Anda gunakan setelah transportasi selesai. Atau, Anda dapat menggunakan variabel SQL bind untuk membuat peran pengguna sementara. Gunakan peran sementara ini untuk transportasi, lalu buang peran tersebut setelahnya.

Jika transportasi Anda tidak berhasil, Anda mungkin melihat pesan kesalahan yang mirip dengan yang berikut ini:

pg_transport.num_workers=8 25% of files transported failed to download file data

Pesan kesalahan "gagal mengunduh data file" menunjukkan bahwa jumlah proses pekerja tidak diatur dengan benar untuk ukuran basis data. Anda mungkin perlu meningkatkan atau mengurangi nilai yang diatur untuk pg_transport.num_workers. Setiap kegagalan melaporkan persentase penyelesaian, sehingga Anda dapat melihat dampak perubahan Anda. Misalnya, mengubah pengaturan dari 8 menjadi 4 dalam satu kasus menghasilkan hal berikut:

pg_transport.num_workers=4 75% of files transported failed to download file data

Perlu diingat bahwa parameter max_worker_processes juga diperhitungkan selama proses transportasi. Dengan kata lain, Anda mungkin perlu memodifikasi pg_transport.num_workers dan max_worker_processes agar transportasi basis data berhasil dijalankan. Contoh yang ditampilkan akhirnya berfungsi ketika pg_transport.num_workers diatur ke 2:

pg_transport.num_workers=2 100% of files transported

Lihat informasi selengkapnya tentang fungsi transport.import_from_server dan parameternya di Referensi fungsi basis data yang dapat ditranspor.