开发者社区> 问答> 正文

如何从 PostgreSQL 导入数据

工具 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 用法



全库迁移


进行全库迁移,请执行如下命令:
  1. [backcolor=transparent]./[backcolor=transparent]pgsql2pgsql

迁移程序会默认把对应 pgsql 库中所有用户的表数据将迁移到 pgsql。

状态信息查询


连接本地临时 Database,可以查看到单次迁移过程中的状态信息。这些信息被放在表 db_sync_status 中,包括全量迁移的开始和结束时间、增量迁移的开始时间和增量同步的数据情况。

下载与说明

  • 下载 mysql2pgsql 二进制安装包,请单击 这里
  • 查看 mysql2pgsql 源码编译说明,请单击 这里

展开
收起
云栖大讲堂 2017-11-01 10:57:43 2159 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
为什么PostgreSQL是最适合去O的数据库 立即下载
PostgreSQL实战 立即下载
PolarDB for PostgreSQL 源码与应用实战 立即下载