全部產品
Search
文件中心

AnalyticDB for PostgreSQL:rds_dbsync遷移或同步PostgreSQL資料到AnalyticDB PostgreSQL

更新時間:Feb 05, 2024

開源rds_dbsync的pgsql2pgsql是一個用於遷移PostgreSQL資料庫的工具,常用於Database Backup、遷移、複製和同步等操作,可實現PostgreSQL、PPAS、Greenplum Database、AnalyticDB PostgreSQL版資料庫間相互遷移。

pgsql2pgsql支援的功能

pgsql2pgsql支援如下功能:

  • PostgreSQL、PPAS、Greenplum Database、AnalyticDB PostgreSQL全量資料移轉到PostgreSQL、PPAS、Greenplum Database、AnalyticDB PostgreSQL

  • PostgreSQL或PPAS(版本大於9.4)全量+增量遷移到PostgreSQL或PPAS。

參數配置

修改設定檔postgresql.conf、配置源和目的庫串連資訊。

  • 源庫pgsql串連資訊如下所示:

    重要

    源庫pgsql的串連資訊中,使用者最好是對應DB的owner。

    [src.pgsql]
    connect_string = "host=192.168.1.1 dbname=test port=3432 user=test password=pgsql"
  • 本地臨時Database pgsql串連資訊如下所示:

    [local.pgsql]
    connect_string = "host=192.168.1.2 dbname=test port=3432 user=test2 password=pgsql"
  • 目的庫pgsql串連資訊如下所示:

    重要

    目的庫pgsql的串連資訊,使用者需要對目標表有寫入權限。

    [desc.pgsql]
    connect_string = "host=192.168.1.3 dbname=test port=3432 user=test3 password=pgsql"
重要
  • 如果要做增量資料同步,串連源庫需要有建立replication slot的許可權。

  • 由於PostgreSQL 9.4及以上版本支援邏輯流複製,所以支援作為資料來源的增量遷移。開啟下列核心參數才能讓核心支援邏輯流複製功能。

    wal_level = logical
    max_wal_senders = 6
    max_replication_slots = 6

pgsql2pgsql用法

全庫遷移

進行全庫遷移,請執行如下命令:

./pgsql2pgsql

遷移程式會預設把對應pgsql庫中所有使用者的表資料將遷移到pgsql。

狀態資訊查詢

串連本地臨時Database,可以查看到單次遷移過程中的狀態資訊。這些資訊被放在表db_sync_status中,包括全量遷移的開始和結束時間、增量遷移的開始時間和增量同步處理的資料情況。

下載與說明