

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Exportieren und Importieren von verwalteten Plänen für Aurora PostgreSQL
<a name="AuroraPostgreSQL.Optimize.Maintenance.ExportingImporting"></a>

Sie können Ihre verwalteten Pläne exportieren und in eine andere DB-Instance importieren. 

**So exportieren Sie verwaltete Pläne:**  
Autorisierte Benutzer können ein beliebiges Subset der `apg_plan_mgmt.plans`-Tabelle in eine andere Tabelle kopieren und dann mit dem Befehl `pg_dump` speichern. Im Folgenden wird ein Beispiel gezeigt.

```
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;
```

**So importieren Sie verwaltete Pläne:**

1. Kopieren Sie die .tar-Datei der exportierten verwalteten Pläne in das System, in dem die Pläne wiederhergestellt werden sollen.

1. Verwenden Sie den Befehl `pg_restore`, um die .tar-Datei in eine neue Tabelle zu kopieren. 

   ```
   % pg_restore --dbname mytargetdatabase -Ft plans_copy.tar
   ```

1. Führen Sie die Tabellen `plans_copy` und `apg_plan_mgmt.plans` entsprechend dem folgenden Beispiel zusammen.
**Anmerkung**  
In einigen Fällen verwenden Sie möglicherweise für die Sicherung eine bestimmte Version der Erweiterung `apg_plan_mgmt` und für die Wiederherstellung eine andere Version der Erweiterung. In diesem Fällen fallen die Spalten in der Plantabelle möglicherweise unterschiedlich aus. Geben Sie den Spalten in diesem Fall einen bestimmten Namen, anstatt SELECT\$1 zu verwenden. 

   ```
   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;
   ```

1. Laden Sie die verwalteten Pläne erneut in den gemeinsam genutzten Speicher und entfernen Sie die Tabelle für die temporären Pläne.

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