本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用傳輸在兩個 Amazon RDS 資料庫執行個體之間傳輸 PostgreSQL 資料庫
由勞納克里沙巴(AWS)和吉泰爾庫馬爾(AWS)創建
環境:PoC 或試點 | 來源:數據庫:關係 | 目標:Amazon RDS for PostgreSQL |
R 類型:搬遷 | 工作負載:開源 | 技術:移轉;資料庫 |
AWS 服務:Amazon RDS |
Summary
此模式說明在兩個適用於 PostgreSQL 資料庫執行個體的 Amazon Relational Database Service (Amazon RDS) 之間移轉極大型資料庫的步驟,方法是使用 pg _port 延伸模組。此擴充套件提供實體的傳輸機制來移動每個資料庫。透過以最少的處理流式傳輸資料庫檔案,它提供了一種極快速的方法,在資料庫執行個體之間移轉大型資料庫,而且停機 此擴充功能使用提取模型,其中目標資料庫執行個體從來源資料庫執行個體匯入資料庫。
先決條件和限制
先決條件
兩個資料庫執行個體都必須執行相同的 PostgreSQL 主要版本。
資料庫不得存在於目標上。否則,傳輸會失敗。
除了 pg_ port 之外,不得在來源資料庫中啟用任何擴充功能。
所有來源資料庫物件都必須位於預設 pg_default 表格空間中。
來源資料庫執行個體的安全群組應允許來自目標資料庫執行個體的流量。
安裝 PostgreSQL 用戶端 (例如 psql
),或PgAdmin 與 Amazon RDS PostgreSQL 資料庫執行個體搭配使用。您可以在本機系統中安裝用戶端,也可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。在這種模式中,我們在 EC2 實例上使用 psql。
限制
您無法在不同主要版本的 Amazon RDS 之間傳輸資料庫。
來源資料庫的存取權限和擁有權不會轉移至目標資料庫。
您無法在僅供讀取複本上或僅供讀取複本的父項執行個體上傳輸資料庫。
您不能在計劃使用此方法傳輸的任何資料庫資料表中使用 reg 資料類型。
您可以在資料庫執行個體上同時執行多達 32 個總傳輸 (包括匯入和匯出)。
您無法重新命名或包含/排除表格。一切都按原樣遷移。
小心
在移除擴充功能之前先進行備份,因為移除擴充功能也會移除相依物件以及對資料庫作業至關重要的一些資料。
當您決定 pg_ port 的工作程式數目和
work_mem
值時,請考慮在來源執行個體上其他資料庫上執行的執行個體類別和處理序。傳輸開始時,來源資料庫上的所有連線都會結束,並將資料庫置於唯讀模式。
附註:傳輸在一個資料庫上執行時,不會影響相同伺服器上的其他資料庫。
產品版本
Amazon RDS for PostgreSQL 10.10 及更新版本,以及適用於 PostgreSQL 11.5 及更新版本的亞馬遜 RDS。如需最新版本資訊,請參閱 Amazon RDS 說明文件中的在資料庫執行個體之間傳輸 PostgreSQL 資料庫。
架構
工具
史诗
任務 | 描述 | 所需技能 |
---|---|---|
為目標系統建立參數群組。 | 指定可將其識別為目標參數群組的群組名稱;例如, | DBA |
修改參數群組的參數。 | 設定下列參數:
如需這些參數的詳細資訊,請參閱 Amazon RDS 文件。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
建立來源系統的參數群組。 | 指定可將其識別為來源參數群組的群組名稱;例如, | DBA |
修改參數群組的參數。 | 設定下列參數:
如需這些參數的詳細資訊,請參閱 Amazon RDS 文件。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
建立新的 Amazon RDS 資料庫執行個體,以將您的來源資料庫傳輸到該執行個體。 | 根據您的業務需求判斷執行個體類別和 PostgreSQL 版本。 | DBA, 系統管理員, 資料庫架構師 |
修改目標的安全群組,以允許從 EC2 執行個體在資料庫執行個體連接埠上進行連線。 | 根據預設,PostgreSQL 執行個體的連接埠是 5432。如果您使用其他連接埠,則必須為 EC2 執行個體開啟與該連接埠的連線。 | DBA, 系統管理員 |
修改例證,並指定新目標參數群組。 | 例如 | DBA |
重新啟動目標 Amazon RDS 資料庫執行個體。 | 參數 | DBA, 系統管理員 |
使用 psql 從 EC2 實例 Connect 到數據庫。 | 使用 命令:
| DBA |
建立傳輸延伸模組。 | 以具有該
| DBA |
任務 | 描述 | 所需技能 |
---|---|---|
修改來源的安全群組,以允許來自 Amazon EC2 執行個體和目標資料庫執行個體的資料庫執行個體連接埠 | 根據預設,PostgreSQL 執行個體的連接埠是 5432。如果您使用其他連接埠,則必須為 EC2 執行個體開啟與該連接埠的連線。 | DBA, 系統管理員 |
修改例證並指定新來源參數群組。 | 例如 | DBA |
重新啟動來源 Amazon RDS 資料庫執行個體。 | 參數 | DBA |
使用 psql 從 EC2 實例 Connect 到數據庫。 | 使用 命令:
| DBA |
建立 pg_port 延伸模組,並從要傳輸的資料庫中移除所有其他擴充功能。 | 如果來源資料庫上安裝了 pg_port 以外的任何副檔名,傳輸將會失敗。此命令必須由具有該 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
執行乾運行。 | 首先使用該
此函數的最後一個參數(設置為 此函數會顯示執行主要傳輸時會看到的任何錯誤。請先解決錯誤,然後再執行主要傳輸。 | DBA |
如果無法執行成功,請初始化資料庫傳輸。 | 執行
此函數的最後一個參數(設置為 | DBA |
執行傳輸後的步驟。 | 資料庫傳輸完成之後:
| DBA |