开发者社区> 问答> 正文

如何快速导出导入数据到rds for postgressql

导出本地数据,再导入到rds for postgresql中,需要尽快完成。请问有什么方法吗?

展开
收起
明虚 2015-12-08 15:11:55 13483 0
3 条回答
写回答
取消 提交回答
  • 周晓,阿里云大数据+AI工程运营负责人

    膜拜!

    2019-07-16 11:48:00
    赞同 展开评论 打赏
  • PostgreSQL、Greenplum内核开发

    如下的shell脚本(适用于PG 9.3以上版本),可以并行的导出导入,其中jobs指定了并发的连接数:

    source_db_user=

    source_db_ip=

    source_db_port=

    source_db_name=

    source_db_password=

    target_db_user=

    target_db_ip=

    target_db_port=

    target_db_name=

    target_db_password=

    jobs=5

    echo "begin dumping"

    date

    export PGPASSWORD=$source_db_password

    pg_dump -U $source_db_user -h $source_db_ip -p $source_db_port $source_db_name -Fd -j $jobs -f dumpdir

    echo "done dumping"

    date

    echo "begin restoring"

    date

    export PGPASSWORD=$target_db_password

    pg_restore -U $target_db_user -h $target_db_ip -p $target_db_port -d $target_db_name -j $jobs dumpdir

    echo "end restoring"

    date

    2019-07-16 11:48:00
    赞同 展开评论 打赏
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.

    dump -> 管道 -> ssl 协议连接 rds(开启数据压缩) -> 导入
    我们以前从香港导数据到国内,带宽只有10Mbit,用这种方法提速近10倍左右。
    http://blog.163.com/digoal@126/blog/static/163877040201152753352356/
    http://blog.163.com/digoal@126/blog/static/16387704020115294425540/
    虽然RDS不提供服务器的权限,但是你选择了PostgreSQL,恭喜你,因为PostgreSQL直接支持SSL压缩。
    最后,如果你不知道PostgreSQL SSL怎么使用的话,你可以借助ECS做一个中继,ECS和你的本地建立SSL隧道,并建立到RDS PG的端口转发,这样也可以做到不落地的WAN段压缩传输。

    2019-07-16 11:48:00
    赞同 3 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像