介绍
pgloader从各种来源加载数据到PostgreSQL。它可以转换动态读取的数据,并在加载前后提交原始SQL。它使用复制PostgreSQL协议将数据流到服务器,并通过填写一对reject.dat和reject.log文件来管理错误。
pgloader知道如何从不同的来源读取数据:
- 文件CSVFixed FormatDBF
- 数据库SQLiteMySQLMS SQL ServerPostgreSQLRedshift
pgloader知道如何使用PostgresQL协议针对不同的产品:
- PostgreSQL
- Citus
- Redshift
pgloader提供的自动化程度取决于数据源类型。对于CSV和固定格式文件,必须向pgloader提供预期输入属性的完整描述。对于数据库,pgloader连接到live服务,并知道如何直接从它获取所需的元数据。
特征矩阵
下面是根据源数据库引擎所支持的特性的比较。一些不支持的功能可以添加到pgloader中,只是还没有人需要这样做。那些功能用转述动词标记。当特性对所选的源数据库没有意义时,将使用空单元格。
有关特性的详细信息,请参阅数据库源的特定参考页面。
对于某些特性,缺少支持只意味着其他来源不需要该特性,比如覆盖关于表或列的MySQL编码元数据的功能。这个列表中只有MySQL完全不能保证文本编码。或者没有外键的红移。
命令
pgloader实现了自己的命令语言,这是一种DSL,允许指定要实现的数据加载和迁移的各个方面。该语言中提供的一些功能只适用于特定的源类型。
命令行
pgloader命令行接受这两个变种:
代码语言:javascript复制pgloader [<options>] [<command-file>]...pgloader [<options>] SOURCE TARGET
您可以使用pgloader命令语言拥有一个包含迁移规范的命令文件,也可以提供一个数据源和一个PostgreSQL数据库连接目标,以便将数据加载到其中。
原文:https://pgloader.readthedocs.io/en/latest/intro.html
本文:https://pub.intelligentx.net/pgloader-loads-data-various-sources-postgresql
讨论:请加入知识星球或者微信圈子【首席架构师圈】
微信公众号
如果喜欢仙翁的分享,请关注微信公众号【首席架构师智库】
仙翁小号
如果想进一步讨论,请加仙翁小号【intelligenttimes】,注明你希望加入的群:架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化,产品转型。
微信圈子
如果想和志趣相投的同好交流,请关注仙翁的微信圈子【首席架构师圈】。
如果想向大咖提问,近距离接触,或者获得私密分享,请加入知识星球【首席架构师圈】