原生 PostgreSQL 用戶端應用程式 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

原生 PostgreSQL 用戶端應用程式

您可以使用原生 PostgreSQL 用戶端應用程式進行離線遷移,包括 pg_dumppg_dumpallpg_restore。pg_dump 公用程式用於備份 PostgreSQL 資料庫。您可以使用 pg_dump 進行一致的備份並備份單一資料庫。若要備份叢集中所有資料庫通用的全域物件 (例如角色和資料表空間),請使用 pg_dumpall。我們建議您以超級使用者身分執行 pg_dump 公用程式,因為只有超級使用者才能執行完整的傾印。pg_dump 公用程式也提供最佳化備份程序的選項,包括使用任務選項 (用於平行執行傾印),以及當您進行備份時的目錄格式。如需詳細資訊,請參閱 PostgreSQL 文件中 pg_dump 頁面的選項一節。

pg_restore 公用程式用於從 pg_dump 建立的封存還原 PostgreSQL 資料庫。如果您以自訂或目錄格式使用 pg_dump,則可以平行模式執行 pg_restore 公用程式。若要提高 pg_restore 的效能,您可以調校下列參數:

  • 設定 shared_buffers 以符合您的需求,並提高 maintenance_work_mem 以加快索引建立速度。

  • 關閉大量記錄、自動清空協助程式和 full_page_writes

  • (選用) 備份和還原結構描述,並使用僅限資料的傾印和還原。如果您使用此方法,您可以使用 disable-triggers選項來改善效能。

您可以從目標 EC2 執行個體執行 pg_dump 和 pg_restore。我們建議您使用 AWS Direct Connect 以獲得更好的速度和效能。最後,請確定您有足夠的儲存空間來存放備份檔案。

架構

下圖顯示使用原生 PostgreSQL 用戶端應用程式將內部部署 PostgreSQL 資料庫遷移至 AWS 雲端的架構。

原生 PostgreSQL 用戶端應用程式架構

該圖顯示以下工作流程:

  1. 使用 pg_dump 進行備份。

  2. 建立 EC2 執行個體,並在執行個體上安裝 PostgreSQL。

  3. 將傾印檔案複製到 Amazon EC2。

  4. 使用 pg_restore 還原備份檔案。

限制

建議您在開始遷移之前,考慮使用原生 PostgreSQL 用戶端應用程式的下列限制:

  • 傾印和還原對於較大的資料庫 (即大於 300 GB 的資料庫) 來說可能很耗時。

  • 此選項需要完整的資料庫停機時間。

  • 伺服器上需要大量磁碟空間才能進行備份,然後將備份複製到 Amazon EC2。