Amazon Redshift スナップショットに一部のテーブルがないのはなぜですか?

所要時間1分
0

Amazon Redshift クラスターからスナップショットを復元しましたが、スナップショットに一部のテーブルがありません。不足しているテーブルをバックアップする方法を教えてください。

簡単な説明

バックアップなしのテーブルとして作成されたテーブルは、Amazon Redshift スナップショットから除外されます。BACKUP NO パラメータを使用して作成されたため、Amazon Redshift がテーブルを除外したかどうかを確認します。次に、ディープコピーを実行します。

解決方法

Amazon Redshift スナップショットから不足しているテーブルをバックアップするには、次の手順通りに実行します。

1.    スナップショットから不足しているテーブルのデータ定義言語 (DDL) を確認します。

2.    テーブルの DDL が利用できない場合は、スーパーユーザーとして次のクエリを実行します。

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;

上記のクエリは、スナップショットにバックアップされていない接続データベース内のテーブルを識別します。これは、スーパーユーザーアカウントにのみ表示されるシステムテーブル STV_TBL_PERM をクエリします。スーパーユーザーのみが使用できるビューの詳細については、システムテーブルとビューのデータ可視性を参照してください。

注意: バックアップ列の値が 0 の場合、テーブルが BACKUP NO パラメータを使用して作成されたことを示します。BACKUP YES パラメータを使用して Amazon Redshift の既存のテーブルを変更することはできません。

3.    テーブルがバックアップなしのテーブルとして作成された場合は、BACKUP NO パラメータを指定せずにテーブルを再作成します。

4.    不足しているテーブルのディープコピーを実行します。


関連情報

CREATE TABLE AS パラメータ

Amazon Redshift スナップショット

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ