當我在 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 中執行還原作業時,作業失敗或發生問題。我想要解決在自動化快照還原、時間點復原 (PITR) 或使用 PostgreSQL 原生工具時發生的錯誤。
解決方法
Amazon RDS for PostgreSQL 支援以下還原方法:
- 自動化或手動資料庫快照
- 在備份保留期間內進行 PITR
- 使用 PostgreSQL 原生工具 (例如 pg_dump 和 pg_restore) 進行邏輯備份
請使用以下各節疑難排解您的還原問題類型。
檢查 pg_restore 版本相容性
如果您的 pg_restore 公用程式版本與建立備份時所使用的版本不相容,您可能會收到以下其中一個錯誤訊息:
「Unsupported version (1.15) in file header」
「Could not find header for file 'toc.dat' in tar archive」
如果 PostgreSQL 公用程式要求 pg_dump 備份建立工具和 pg_restore 還原工具之間的版本一致,您就會收到其中一個錯誤訊息。
若要解決此問題,請檢查您的 pg_restore 版本。請在已安裝 PostgreSQL 用戶端公用程式的作業系統 (OS) 上執行以下命令:
pg_restore --version
請確認您的 pg_restore 版本等於或大於建立備份時所使用的 pg_dump 版本。如有需要,請升級您的 pg_restore 公用程式,使其符合或高於備份版本。如需更多資訊,請參閱 PostgreSQL pg_dump 和 pg_restore 公用程式。
解決備份格式不相符的問題
如果您將 pg_restore 與純文字 SQL 備份檔案搭配使用,您可能會收到以下錯誤訊息:
「Input file appears to be a text format dump.Please use psql」
若要解決此問題,請使用 psql 公用程式,而不是 pg_restore,來匯入您的備份檔案。如需更多資訊,請參閱將資料匯入 Amazon RDS 上的 PostgreSQL。
**注意:**為了避免您在日後建立備份時發生此問題,請在建立備份時指定正確格式。如果您計劃使用 pg_restore 還原,請在使用 pg_dump 時搭配 -Ft 作為自訂格式,或搭配 -Ft 作為 tar 格式選項。
監控還原效能
在快照還原或 PITR 作業期間,您的資料庫執行個體會使用延遲載入。然後,系統會在存取資料區塊時依需求載入。在經常存取的資料完成快取之前,您的執行個體效能可能會變慢。
若要監控您的還原進度,請執行以下命令:
aws rds describe-db-instances --db-instance-identifier instance-id
**注意:**將 instance-id 替換為您的資料庫執行個體識別碼。
如需在還原作業後改善效能的資訊,請參閱使用 PostgreSQL 的最佳實務。
管理資料庫端點
如果您需要在還原作業後維持相同的端點名稱,您可以重新命名您的資料庫執行個體。
如果您使用讀取複寫,請確認您在還原作業後更新其組態。
相關資訊
還原至資料庫執行個體
將資料庫執行個體還原到 Amazon RDS 的指定時間
將 PostgreSQL 資料庫遷移到 Amazon RDS 和 Amazon Aurora 的最佳實務