Exportation et importation de plans gérés pour Aurora Postgre SQL - Amazon Aurora

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
  1. Copiez le fichier .tar des plans gérés exportés dans le système dans lequel vous voulez restaurer les plans.

  2. Utilisez la commande pg_restore pour copier le fichier .tar dans une nouvelle table.

    % pg_restore --dbname mytargetdatabase -Ft plans_copy.tar
  3. Fusionnez la table plans_copy avec la table apg_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;
  4. 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;