原生用戶端應用程式 - AWS 規定指引

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

原生用戶端應用程式

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

pg_restore 公用程式用於從 pg_dump 建立的歸檔中還原 PostgreSQL 資料庫。如果您以自訂或目錄格式使用 pg_dump,則可以在 parallel 模式下執行 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 雲端的架構。

原生客戶端應用程序體系結構

圖表說明以下工作流程:

  1. 通過使用 pg_dump 進行備份。

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

  3. 複製轉儲文件到 Amazon EC2。

  4. 通過使用 pg_restore 恢復備份文件。

限制

建議您開始移轉前考量下列限制:

  • 對於較大的資料庫 (也就是大於 300 GB 的資料庫) 而言,傾印和還原可能很耗時。

  • 這個選項需要完整的資料庫停機。

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