pgloader 是一个不错的多种格式数据同步到pg 的工具,pgloader 使用postrgresql 的copy 协议进行高效的数据同步处理

特性

加载文件到内容pg

  • 多种数据源格式的支持 
    csv、fixed 列、dbase、sqlte、ibm ixf、postgresql、mysql、sql server
  • 即时数据转换 
    在加载数据之前可以进行数据调整,清理
  • 数据投影 
    可以加载需要字段
  • 从归档文件加载数据 
    zip、tar、gzip 导入数据
  • http(s) 支持 
    支持http 请求数据的加载
  • 目标模式发现 
    加载数据的时候,pgloader 会考虑现有列,并尽可能的猜测csv 格式
  • 错误停止&&错误恢复继续 
    在特殊情况下,源数据别破坏造成无法完全迁移,pgloader会忽略错误,并且继续迁移 
    其他行 
    在部分情况下,可能是需要完整数据的
  • pre && post sql command 
    可以方便的在数据加载之前,以及之后进行一些sql 操作,比如索引、表,权限的创建管理
  • 仅架构&&仅数据 
    对于迁移可能只需要进行schema 的迁移,也可能只进行数据的迁移
  • 在线alter 架构 
    可以在迁移的时候进行数据类型的转换
  • 物化试图、即时重写 
    可以在迁移的时候将view 转化为table
  • 分发数据到citus
  • 编码覆盖 
    mysql 实际不强制对数据中的数据进行编码,但是有时为了理解,有必要进行元数据覆盖 
    pgloader 可以帮助做这样的事情
  • 持续迁移 
    可以让我们的数据库迁移类似持续集成一样,可以增强我们迁移的信心

参考资料

https://pgloader.readthedocs.io/en/latest/ 
https://github.com/dimitri/pgloader

pgloader 学习(一)支持的特性的更多相关文章

  1. pgloader 学习(二)特性矩阵&&命令行

    pgloader 对于各种数据库支持的还是很完整的,同时有一套自己的dsl 特性矩阵 操作命令 命令格式 pgloader [<options>] [<command-file> ...

  2. 可能是最早的学习Android N新特性的文章

    可能是最早的学习Android N新特性的文章 Google在今天放出了Android N开发者预览版.Android N支持Nexus6及以上的设备.5太子Nexus5不再得到更新. Android ...

  3. 从零开始一起学习SLAM | C++新特性要不要学?

    LAM,C++编程是必备技能.不过,大家在学校里学习的书本一般比较老,主要还是C++98那些老一套. 本文所谓的C++新特性是指C++11及其以后的C++14.C++17增加的新关键字和新语法特性.其 ...

  4. 如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)

    一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...

  5. C#语言支持的特性,.NET却不支持,那么C#不被.NET支持的部分又是如何在.NET上运行的呢?

    阅读<C#高级编程>系列丛书中,介绍C#与.NET的关系,提到C#是语言,.NET是平台(C#不是.NET的一部分),说".NET支持的一些特性,C#并不支持",这个可 ...

  6. 从 prototype.js 深入学习 javascript 的面向对象特性

    从 prototype.js 深入学习 javascript 的面向对象特性 js是一门很强大的语言,灵活,方便. 目前我接触到的语言当中,从语法角度上讲,只有 Ruby 比它更爽. 不过我接触的动态 ...

  7. VS2015 C#6.0 中的没有实现/支持的特性

      VS2015 C#6.0 中的没有实现/支持的特性   .数组增强:赋值 维数组 Int[] numbers: numbers = {2,3,4,5}; 维数组 Int[,] numbers2; ...

  8. Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: java.sql.SQLException: 不支持的特性

    mybatis插入数据时报错: Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated key or ...

  9. commons-dbutils:1.6 ——java.sql.SQLException: 不支持的特性

    描述:使用jdbc创建连接后,使用commons-dbutils-1.6 数据库工具类,查询报错如下:java.sql.SQLException: 不支持的特性 Query: 经过测试跟踪在commo ...

  10. Elasticsearch学习记录(分布式的特性)

    Elasticsearch学习记录(分布式的特性) 分布式的特性 我们提到Elasticsearch可以扩展到上百(甚至上千)的服务器来处理PB级的数据.然而我们的例子只给出了一些使用Elastics ...

随机推荐

  1. SpringBoot获得application.properties中数据的几种方式

    转:https://blog.csdn.net/qq_27298687/article/details/79033102 SpringBoot获得application.properties中数据的几 ...

  2. 微信小程序与Django<一>

    小程序开发的准备工作 1.       小程序开发者账号 a)         邮箱注册 b)         开发者配置与AppID c)         https://mp.weixin.qq. ...

  3. 阿里巴巴 Java 开发手册 (七) 控制语句

    1. [强制]在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程 序将继续执行到哪一个 case 为止:在一个 switch 块内,都必须包含一个 ...

  4. java之spring mvc之Controller配置的几种方式

    这篇主要讲解 controller配置的几种方式. 1. URL对应 Bean 如果要使用此类配置方式,需要在XML中做如下样式配置 <!-- 配置handlerMapping --> & ...

  5. docker save load export import的区别

    export export命令用于持久化容器(不是镜像).所以,我们就需要通过以下方法得到容器ID: sudo docker ps -a 接着执行导出: sudo docker export < ...

  6. 【开发笔记】- 转义html特殊字符

    package com.juihai.util; import org.apache.commons.lang.StringUtils; import org.springframework.web. ...

  7. 自定义指令 VUE基础回顾7

    vue除了有v-if等内置指令,我们也可以创建自定义指令. 例:我们可以实现一个可以每隔一秒闪烁的节点,类似于<blink>标签的行为.添加一个指令类似于添加一个过滤器,可以将他传入vue ...

  8. mvc和mvvm模式

    一. Mvvm定义 MVVM是Model-View-ViewModel的简写.即模型-视图-视图模型.[模型]指的是后端传递的数据.[视图]指的是所看到的页面.[视图模型]mvvm模式的核心,它是连接 ...

  9. 继 首次使用DoNetCore EFCore DbFirst 更新数据实体

    //EFCore DB First 步骤 //第一步:Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 2.1.1 // ...

  10. Vue常用工具类方法 总结

    1.利用Cookie,来设置接口携带的‘token’ 执行命令npm install js-cookie,在js工具类中引入, /** @format */ import Cookie from 'j ...