跳至內容

如何疑難排解 Amazon RDS for PostgreSQL 中的還原作業失敗問題?

1 分的閱讀內容
0

當我在 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 中執行還原作業時,作業失敗或發生問題。我想要解決在自動化快照還原、時間點復原 (PITR) 或使用 PostgreSQL 原生工具時發生的錯誤。

解決方法

Amazon RDS for PostgreSQL 支援以下還原方法:

  • 自動化或手動資料庫快照
  • 在備份保留期間內進行 PITR
  • 使用 PostgreSQL 原生工具 (例如 pg_dumppg_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 的最佳實務

AWS 官方已更新 6 個月前