我想要將 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 資料庫進行主要版本升級的停機時間降到最低,並將效能最佳化。
簡短說明
**注意:**主要版本升級可能包含與您現有應用程式不相容的資料庫變更。在您升級之前,請務必在非生產環境中徹底測試升級。如需更多資訊,請參閱如何為 RDS for PostgreSQL 執行主要版本升級。
若要升級您的資料庫執行個體,請使用以下其中一種方法:
- 快照還原
- 手動升級
- 藍/綠部署
- AWS Database Migration Service (AWS DMS)
先決條件:
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
最佳化升級效能
若要在您執行主要引擎版本升級時將潛在問題降到最低,請採取以下動作:
若要識別處於執行中狀態且超過 10 分鐘的交易,請執行以下命令:
SELECT * FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
AND state in ('idle', 'idle in transaction', 'idle in transaction (aborted)', 'disabled','active')
AND state_change < current_timestamp - INTERVAL '10' MINUTE
AND usename != 'rdsadmin';
如果您識別出長時間執行的交易,請使用 pg_cancel_backend 或 pg_terminate_backend 結束交易。如需更多資訊,請參閱 PostgreSQL 網站上的伺服器訊號函數。
使用快照還原進行升級
建立資料庫快照,將您的資料庫執行個體升級為較新的主要版本快照,然後將其還原至新的資料庫執行個體。
**注意:**您必須為新的資料庫執行個體使用不同的名稱,而且您的應用程式在升級程序期間必須停止。另外,您必須在升級完成後更新應用程式端點。
手動升級您的資料庫執行個體
若要手動升級您的資料庫執行個體,請參閱手動升級引擎版本。
**注意:**手動資料庫升級需要停機。若要將停機時間降到最低,請使用藍/綠部署。
使用藍/綠部署升級
若要建立藍/綠部署,請參閱建立藍/綠部署。當您位於綠色環境時,請 指定較新的引擎版本。
如需藍/綠部署的更多資訊,請參閱 Amazon RDS 藍/綠部署的限制和考量事項。
使用 AWS DMS 升級
使用 AWS Database Migration Service (AWS DMS),將資料從您目前的資料庫執行個體遷移到已升級版本的新執行個體。AWS DMS 支援變更資料擷取 (CDC),可進行持續複寫。
升級 pg_statistics 資料表
完成主要引擎版本升級後,請在所有資料庫上執行 ANALYZE VERBOSE; 命令,以升級 pg_statistics 資料表。如需更多資訊,請參閱 PostgreSQL 網站上的 ANALYZE。