Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exportation et importation de plans gérés pour Aurora Postgre SQL
Vous pouvez exporter vos plans gérés et les exporter dans une autre instance de base de données.
Pour exporter des plans gérés
Un utilisateur autorisé peut copier tout sous-ensemble de la table apg_plan_mgmt.plans
dans une autre table et l'enregistrer à l'aide de la commande pg_dump
. Voici un exemple de.
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;
Pour importer des plans gérés
-
Copiez le fichier .tar des plans gérés exportés dans le système dans lequel vous voulez restaurer les plans.
-
Utilisez la commande
pg_restore
pour copier le fichier .tar dans une nouvelle table.%
pg_restore --dbname mytargetdatabase -Ft plans_copy.tar -
Fusionnez la table
plans_copy
avec la tableapg_plan_mgmt.plans
, comme montré dans l'exemple suivant.Note
Dans certains cas, il se peut que vous procédiez à un vidage depuis une version de l'extension
apg_plan_mgmt
et que vous la restauriez dans une autre version. Dans ces cas-là, il se peut que les colonnes de la table des plans soient différentes. Si tel est le cas, nommez les colonnes de manière explicite au lieu d'utiliser 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;
-
Rechargez les plans gérés dans la mémoire partagée et supprimez la table temporaire des plans.
SELECT apg_plan_mgmt.reload();
-- refresh shared memory
DROP TABLE plans_copy;