pgloader 学习(九) pg 2 pg 使用with 参数控制同步逻辑
pgloader 支持比较丰富的配置参数,同时默认数据在同步的时候是会进行索、schema
以及数据的同步对于实际我们可能存在需要进行控制,我们可以通过with
参数方便的处理
参考配置
- load 文件
load database
from pgsql://postgres:dalong@postgres:5432/postgres
into pgsql://postgres:dalong@postgres2:5432/postgres
including only table names matching 'users','members' in schema 'public'
ALTER TABLE NAMES MATCHING 'users' IN SCHEMA 'public' RENAME TO 'gitlab2_users'
ALTER TABLE NAMES MATCHING 'members' IN SCHEMA 'public' RENAME TO 'gitlab2_members'
with
create no indexes,
no foreign keys;
- load 文件说明
这个一个简单的同步gitlabusers
,members
数据到pg 数据库的处理(数据聚合处理),同时进行了别名处理
users
->gitlab2_users
members
->gitlab2-members
同时忽略源数据表的索引以及外键的添加处理(我们
只需要数据)
完整docker-compose 运行说明
- docker-compose 文件
version: "3"
services:
pgloader-pg:
image: dimitri/pgloader
volumes:
- "./pgloader-config:/loader"
command: pgloader /loader/pg/pg.load
postgres:
image: postgres:9.6.11
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
postgres2:
image: postgres:9.6.11
ports:
- "5433:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
- 运行说明
先导出gitlab pg 数据(默认是本地unix socket),然后导出数据到docker-compose 定义中的postgres
操作:
导出表数据:
pg_dump -h hostip -p 5432 -U postgres -t members -d postgres > members.sql
pg_dump -h hostip -p 5432 -U postgres -t users -d postgres > users.sql
导入表数据:
psql -h 127.0.0.1 -U postgres -p 5432 -d postgres < users.sql
psql -h 127.0.0.1 -U postgres -p 5432 -d postgres < members.sql
运行数据导入:
docker-compose up pgloader-pg
- 效果
pgloader-pg_1 | WARNING:
pgloader-pg_1 | Couldn't re-execute SBCL with proper personality flags (/proc isn't mounted? setuid?)
pgloader-pg_1 | Trying to continue anyway.
pgloader-pg_1 | 2019-06-27T04:43:52.045000Z LOG pgloader version "3.6.2~devel"
pgloader-pg_1 | 2019-06-27T04:43:52.150000Z LOG Migrating from #<PGSQL-CONNECTION pgsql://postgres@postgres:5432/postgres {10070D34D3}>
pgloader-pg_1 | 2019-06-27T04:43:52.151000Z LOG Migrating into #<PGSQL-CONNECTION pgsql://postgres@postgres2:5432/postgres {10070D4B63}>
pgloader-pg_1 | 2019-06-27T04:43:52.882000Z LOG report summary reset
pgloader-pg_1 | table name errors rows bytes total time
pgloader-pg_1 | ------------------------ --------- --------- --------- --------------
pgloader-pg_1 | fetch meta data 0 2 0.061s
pgloader-pg_1 | Create Schemas 0 0 0.000s
pgloader-pg_1 | Create SQL Types 0 0 0.006s
pgloader-pg_1 | Create tables 0 4 0.035s
pgloader-pg_1 | Set Table OIDs 0 2 0.000s
pgloader-pg_1 | ------------------------ --------- --------- --------- --------------
pgloader-pg_1 | "public".gitlab2_members 0 27629 3.1 MB 0.513s
pgloader-pg_1 | "public".gitlab2_users 0 4153 2.2 MB 0.392s
pgloader-pg_1 | ------------------------ --------- --------- --------- --------------
pgloader-pg_1 | COPY Threads Completion 0 4 0.506s
pgloader-pg_1 | Reset Sequences 0 2 0.022s
pgloader-pg_1 | Create Triggers 0 0 0.001s
pgloader-pg_1 | Install Comments 0 0 0.000s
pgloader-pg_1 | ------------------------ --------- --------- --------- --------------
pgloader-pg_1 | Total import time ? 31782 5.3 MB 0.529s
pgloader-pg2pg_pgloader-pg_1 exited with code 0
说明
同时可以也可以配置一些其他参数,比如schema only
, data only
, 还是很方便的
参考资料
https://github.com/rongfengliang/pgloader-gitlab-pg2pg
https://pgloader.readthedocs.io/en/latest/ref/pgsql.html
pgloader 学习(九) pg 2 pg 使用with 参数控制同步逻辑的更多相关文章
- pgloader 学习(八) pg 2 pg 简单demo
pg 数据到pg 数据的迁移,同时支持名称的变更 环境准备 docker-compose文件 内容偏多可以忽略部分 version: "3" services: pgloader- ...
- pgloader 学习(四)一些简单操作例子
上边已经说明了pgloader 的基本使用(篇理论),但是对于实际操作偏少,以下是一个简单的操作 不像官方文档那样,我为了方便,直接使用docker-compose 运行,同时这个环境,会在后边大部分 ...
- pgloader 学习(一)支持的特性
pgloader 是一个不错的多种格式数据同步到pg 的工具,pgloader 使用postrgresql 的copy 协议进行高效的数据同步处理 特性 加载文件到内容pg 多种数据源格式的支持 cs ...
- pgbouncer+pg(fdw)+pg(datanode)分表方案
pgbouncer+pg(fdw)+pg(datanode)分表方案 (环境RHEL6.5,PG9.4.5,pgbouncer1.5.4,libevent2.0.22) 方案架构图如下: pgboun ...
- pgloader 学习(五)pgloader 参考手册
pgloader将各种来源的数据加载到PostgreSQL中.它可以转换动态读取的数据,并在加载前后提交原始SQL. 它使用COPY PostgreSQL协议将数据流式传输到服务器,并通过填充一对re ...
- FastAPI 学习之路(十三)Cookie 参数,Header参数
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
- Android学习笔记之使用百度地图实现地图控制
PS:吾之荣耀,离别已久. 学习内容: 1.实现地图控制. 2.百度地图开发的一些细节 1.实现地图控制: 这一篇主要写在百度地图上添加一些其他控制.上一篇书写了覆盖物的添加,地理编码和反 ...
- Android特效专辑(九)——仿微信雷达搜索好友特效,逻辑清晰实现简单
Android特效专辑(九)--仿微信雷达搜索好友特效,逻辑清晰实现简单 不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今 ...
- 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用
目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数 ...
随机推荐
- vuex的Store简单使用过程
介绍 Store的代码结构一般由State.Getters.Mutation.Actions这四种组成,也可以理解Store是一个容器,Store里面的状态与单纯的全局变量是不一样的,无法直接改变st ...
- Win8.1下Flash Builder 提示: 找不到所需的Adobe Flash Player调试器版本,解决办法
系统:Win8.1 x64 [解决]安装Flash DeBug最新版本补丁,注意下载对应系统的调试版本 下载地址:http://www.adobe.com/support/flashplayer/do ...
- vue生命周期小总结
beforeCreate:function(){} //组件实例化之前执行的函数 created:function(){} //组件实例化完毕,但是页面没有显示 beforeMount:functio ...
- HANA- SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)
转载:https://www.cnblogs.com/hhelibeb/p/7412792.html 这里我们可以使用的技术是Business Data Toolset(以下简称BDT). 以下是网络 ...
- android 各个存储路径及获取方法总结
最长用到的就这三个位置 /data/data/包名/ /sdcard/Android/data/包名/ /sdcard/xxx 前两个是应用内部存储, 会随着app的卸载而自动删除, sdcard中其 ...
- ABAP和Java里的单例模式攻击
面向对象编程世界里的单例模式(Singleton)可能是设计模式里最简单的一种,大多数开发人员都觉得可以很容易掌握它的用法.单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点. 然而在某些场 ...
- vue中使用echart柱状图
一: <template> <Layout> <Content> <Card :style="{minHeight:'300px'}"&g ...
- 调试中行支付demo
用eclipse调试中行支付demo,本来报错. 让我同学帮我远程看了下,他删了服务器,又添加服务器,然后竟然可以运行了,牛逼! 原来报错: at java.net.URLClassLoader$1. ...
- 团队——Alpha版本发布
这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求的链接 团队名称 杨荣模杰和他的佶祥虎 这个作业的目标 发布并说明产品Alpha版本 一.团队成员的学号姓名列表 学号 姓名 2017311 ...
- Django的Form另类实现SelectMultiple
昨天花了一天才解决,遇到的问题如下: 在forms.py里有一个如下的字段: jira_issue = forms.CharField( required=False, label=u"Ji ...