开源数据库同步工具DBSyncer

前言:

这么实用的工具,竟然今天才发现,相见恨晚呀!!!!

DBSyncer(英[dbsɪŋkɜː®],美[dbsɪŋkɜː® 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。
在这里插入图片描述

开源地址:

  1. https://gitee.com/ghi/dbsyncer

源码下载配置:

迫不及待的进行了配置,运行非常简单,直接启动即可。 操作也很方便,给dbs团队一个大大的赞。

在这里插入图片描述

问题总结:

postgresql同步数据到postgresql,增量定时同步设置的问题记录:
同步过去一天的数据量,使用sql查询过去1天的数据:

SELECT * FROM "public"."st_pptn_r" WHERE ("tm" > (NOW() - INTERVAL '1 day'))

在这里插入图片描述

使用以上sql语句查询是可以成功的。
但是在配置页面配置 报错:
在这里插入图片描述

报错信息:

 bad SQL grammar [SELECT "stcd", "tm", "drp", "intv", "pdr", "dyp", "wth" FROM "public"."st_pptn_r"
  WHERE ("tm" > '$(NOW() - INTERVAL '1 day')$') limit ? OFFSET ?]; 
  nested exception is org.postgresql.util.PSQLException: 
  错误: 语法错误 在 "1" 或附近的
  位置:118

语法错误 在 “1” 或附近的,猜测可能是对于单引号无法进行正确的识别,目前还没有解决这个问题。想到了其他的替代办法,可以使用创建函数的方法,将这个计算定义为一个函数,不是很优雅,只能凑合使用了。
在源数据库中创建一个函数,名为yesterday()。

CREATE OR REPLACE FUNCTION yesterday()
RETURNS timestamp AS $$
BEGIN
  RETURN now() - INTERVAL '1 day';
END;
$$ LANGUAGE plpgsql;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题解决!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haokan_Jia

你的鼓励就是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值