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