我從 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 快照