暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL 表传输功能 - pg_transport pgtransfer

digoal 2019-10-12
1165

作者

digoal

日期

2019-10-12

标签

PostgreSQL , pg_transport , pgtransfer


背景

Postgrespro在较早的时候支持了表传输功能。

《透过postgrespro看PostgreSQL的附加功能》

https://postgrespro.com/docs/enterprise/11/pgtransfer

表传输功能通过拷贝数据文件来实现表级数据传输、迁移。在商用数据库中较为常见,例如oracle就有表传输、表空间传输的特性。可以直接迁移一个表空间的数据。

应用场景:

1、表级迁移

2、快速上云

aws近期也在rds pg中推出了类似的功能

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB

PG表空间实现方式YY

表传输功能:

通过拷贝数据文件实现超高效率的表级数据迁移,并且不产生redo。
传统方法需要insert或copy,包括build index的时间。

要求:

1、大版本一致
2、编译平台一致
3、block_size, checksum配置等一致

问题:

1、文件一致性。
2、如何实现在线,增量。

方法:

1、从原数据中读取要传输的表的数据文件(包括toast, index, index_toast, vm, fsm)位置
2、使用流复制协议拷贝文件
3、目标端新建表结构
4、使用流复制协议传输拷贝后的文件替换存储,完成表传输。

应用场景:

1、表级迁移
2、快速上云

参考

《透过postgrespro看PostgreSQL的附加功能》

https://postgrespro.com/docs/enterprise/11/pgtransfer

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论