工具 pgsql2pgsql 支持不落地的把 HybridDB for PostgreSQL/Greenplum Database/PostgreSQL/PPAS 中的表迁移到 HybridDB for PostgreSQL/Greenplum Database/PostgreSQL/PPAS。
pgsql2pgsql 支持的功能
pgsql2pgsql 支持如下功能:
PostgreSQL/PPAS/Greenplum Database/HybridDB for PostgreSQL 全量数据迁移到 PostgreSQL/PPAS/Greenplum Database/HybridDB for PostgreSQL。
PostgreSQL/PPAS(版本大于9.4)全量 + 增量迁移到 PostgreSQL/PPAS。
参数配置
修改配置文件 my.cfg、配置源和目的库连接信息。
源库 pgsql 连接信息如下所示:
[backcolor=transparent]注意:源库 pgsql 的连接信息中,用户最好是对应 DB 的 owner。[src.pgsql]
connect_string = "host=192.168.1.1 dbname=test port=5888 user=test password=pgsql"
本地临时 Database pgsql 连接信息如下所示:[local.pgsql]
connect_string = "host=192.168.1.1 dbname=test port=5888 user=test2 password=pgsql"
目的库 pgsql 连接信息如下所示:
[backcolor=transparent]注意:目的库 pgsql 的连接信息,用户需要对目标表有写权限。[desc.pgsql]
connect_string = "host=192.168.1.1 dbname=test port=5888 user=test3 password=pgsql"
[backcolor=transparent]注意:
如果要做增量数据同步,连接源库需要有创建 replication slot 的权限。
由于 PostgreSQL 9.4 及以上版本支持逻辑流复制,所以支持作为数据源的增量迁移。打开下列内核参数才能让内核支持逻辑流复制功能。
wal_level = logical
max_wal_senders = 6
max_replication_slots = 6
pgsql2pgsql 用法
全库迁移
进行全库迁移,请执行如下命令:
- [backcolor=transparent]./[backcolor=transparent]pgsql2pgsql
迁移程序会默认把对应 pgsql 库中所有用户的表数据将迁移到 pgsql。
状态信息查询
连接本地临时 Database,可以查看到单次迁移过程中的状态信息。这些信息被放在表 db_sync_status 中,包括全量迁移的开始和结束时间、增量迁移的开始时间和增量同步的数据情况。
下载与说明
- 下载 mysql2pgsql 二进制安装包,请单击 这里。
- 查看 mysql2pgsql 源码编译说明,请单击 这里。