Warum fehlen in meinem Amazon Redshift-Snapshot einige Tabellen?

Lesedauer: 2 Minute
0

Ich habe einen Snapshot aus einem Amazon Redshift-Cluster wiederhergestellt, aber dem Snapshot fehlen einige Tabellen. Wie kann ich meine fehlenden Tabellen sichern?

Kurzbeschreibung

Tabellen, die als Tabellen ohne Backups erstellt wurden, sind von Amazon Redshift-Snapshots ausgeschlossen. Überprüfen Sie, ob Amazon Redshift Ihre Tabelle ausgeschlossen hat, weil sie mit dem Parameter BACKUP NO erstellt wurde. Führen Sie dann eine tiefe Kopie durch.

Lösung

Gehen Sie wie folgt vor, um fehlende Tabellen aus Ihrem Amazon Redshift-Snapshot zu sichern:

1.    Überprüfen Sie die Data Definition Language (DDL) der Tabellen, die im Snapshot fehlen.

2.    Wenn die DDL der Tabelle nicht verfügbar ist, führen Sie die folgende Abfrage als superuser aus:

SELECT DISTINCT Rtrim(n.nspname) AS schema_name,
                Rtrim(name)      AS table_name,
                backup
FROM   stv_tbl_perm t
       join pg_class c
         ON t.id = c.oid
       join pg_namespace n
         ON n.oid = c.relnamespace
ORDER  BY 1,2;

Die obige Abfrage identifiziert Tabellen in der verbundenen Datenbank, die im Snapshot nicht gesichert wurden. Sie fragt STV_TBL_PERM ab, die Systemtabelle, die nur für superuser-Konten sichtbar ist. Weitere Informationen zu Ansichten, die nur Superusers zur Verfügung stehen, finden Sie unter Sichtbarkeit von Daten in Systemtabellen und -ansichten.

Hinweis: Ein Wert von 0 für die Backup-Spalte gibt an, dass die Tabelle mit dem BACKUP NO-Parameter erstellt wurde. Sie können eine vorhandene Tabelle in Amazon Redshift nicht mithilfe des BACKUP YES-Parameters ändern.

3.    Wenn Ihre Tabelle als Tabelle ohne Backup erstellt wurde, erstellen Sie die Tabelle ohne den Parameter BACKUP NO neu.

4.    Erstellen Sie eine detaillierte Kopie Ihrer fehlenden Tabellen.


Verwandte Informationen

Parameter CREATE TABLE AS

Amazon Redshift-Snapshots

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren