Esportazione e importazione di piani gestiti per Aurora Postgre SQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esportazione e importazione di piani gestiti per Aurora Postgre SQL

Puoi esportare i piani gestiti e importarli in un'altra istanza database.

Per esportare i piani gestiti

Un utente autorizzato può copiare qualsiasi sottoinsieme della tabella apg_plan_mgmt.plans in un'altra tabella e quindi salvarlo utilizzando il comando pg_dump. Di seguito è riportato un esempio.

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;
Per importare i piani gestiti
  1. Copiare il file .tar dei piani gestiti esportati nel percorso di sistema in cui devono essere ripristinati i piani.

  2. Usare il comando pg_restore per copiare il file tar in una nuova tabella.

    % pg_restore --dbname mytargetdatabase -Ft plans_copy.tar
  3. Unire la tabella plans_copy alla tabella apg_plan_mgmt.plans, come mostrato nell'esempio seguente.

    Nota

    In alcuni casi, potresti dover eseguire il dump da una versione dell'estensione apg_plan_mgmt e ripristinarlo in una versione diversa. In questi casi, le colonne nella tabella dei piani potrebbero essere diverse. In tal caso, assegnate un nome esplicito alle colonne anziché utilizzare*. 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. Ricaricare i piani gestiti nella memoria condivisa e rimuovere la tabella dei piani temporanei.

    SELECT apg_plan_mgmt.reload(); -- refresh shared memory DROP TABLE plans_copy;