使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

為什麼我的 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 年前