Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor dan mengimpor rencana terkelola untuk Aurora Postgre SQL
Anda dapat mengekspor rencana terkelola Anda dan mengimpornya ke dalam instans DB lain.
Untuk mengekspor rencana terkelola
Pengguna dapat menyalin subset tabel apg_plan_mgmt.plans
ke tabel lain, lalu menyimpannya menggunakan perintah pg_dump
. Berikut adalah contohnya.
CREATE TABLE plans_copy AS SELECT * FROM apg_plan_mgmt.plans [ WHERE predicates ] ;
%
pg_dump --table apg_plan_mgmt.plans_copy -Ft mysourcedatabase > plans_copy.tar
DROP TABLE apg_plan_mgmt.plans_copy;
Untuk mengimpor rencana terkelola
-
Salin file .tar dari rencana terkelola yang diekspor ke sistem tempat rencana tersebut akan dipulihkan.
-
Gunakan perintah
pg_restore
untuk menyalin file .tar ke dalam tabel baru.%
pg_restore --dbname mytargetdatabase -Ft plans_copy.tar -
Gabungkan tabel
plans_copy
dengan tabelapg_plan_mgmt.plans
seperti yang ditunjukkan dalam contoh berikut.catatan
Dalam beberapa kasus, Anda mungkin membuang dari satu versi ekstensi
apg_plan_mgmt
dan memulihkan ke versi yang berbeda. Dalam kasus ini, kolom di tabel rencana mungkin berbeda. Jika demikian, beri nama kolom secara eksplisit alih-alih menggunakan SELECT *.INSERT INTO apg_plan_mgmt.plans SELECT * FROM plans_copy ON CONFLICT ON CONSTRAINT plans_pkey DO UPDATE SET status = EXCLUDED.status, enabled = EXCLUDED.enabled,
-- Save the most recent last_used date --
last_used = CASE WHEN EXCLUDED.last_used > plans.last_used THEN EXCLUDED.last_used ELSE plans.last_used END,
-- Save statistics gathered by evolve_plan_baselines, if it ran: --
estimated_startup_cost = EXCLUDED.estimated_startup_cost, estimated_total_cost = EXCLUDED.estimated_total_cost, planning_time_ms = EXCLUDED.planning_time_ms, execution_time_ms = EXCLUDED.execution_time_ms, total_time_benefit_ms = EXCLUDED.total_time_benefit_ms, execution_time_benefit_ms = EXCLUDED.execution_time_benefit_ms;
-
Muat ulang rencana terkelola ke dalam memori bersama dan hapus tabel rencana sementara.
SELECT apg_plan_mgmt.reload();
-- refresh shared memory
DROP TABLE plans_copy;