开源数据库同步工具DBSyncer

篮之新喜  金牌会员 | 2024-8-6 07:52:54 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 523|帖子 523|积分 1573

前言:

这么实用的工具,竟然本日才发现,相见恨晚呀!!!!
DBSyncer(英[dbsɪŋkɜː®],美[dbsɪŋkɜː® 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自界说同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。

开源地址:


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

源码下载设置:

如饥似渴的进行了设置,运行非常简朴,直接启动即可。 操作也很方便,给dbs团队一个大大的赞。

题目总结:

postgresql同步数据到postgresql,增量定时同步设置的题目记录:
同步过去一天的数据量,使用sql查询过去1天的数据:
  1. SELECT * FROM "public"."st_pptn_r" WHERE ("tm" > (NOW() - INTERVAL '1 day'))
复制代码

使用以上sql语句查询是可以乐成的。
但是在设置页面设置 报错:

报错信息:
  1. bad SQL grammar [SELECT "stcd", "tm", "drp", "intv", "pdr", "dyp", "wth" FROM "public"."st_pptn_r"
  2.   WHERE ("tm" > '$(NOW() - INTERVAL '1 day')$') limit ? OFFSET ?];
  3.   nested exception is org.postgresql.util.PSQLException:
  4.   错误: 语法错误 在 "1" 或附近的
  5.   位置:118
复制代码
语法错误 在 “1” 或附近的,猜测可能是对于单引号无法进行精确的辨认,如今还没有解决这个题目。想到了其他的替换办法,可以使用创建函数的方法,将这个计算界说为一个函数,不是很优雅,只能拼集使用了。
在源数据库中创建一个函数,名为yesterday()。
  1. CREATE OR REPLACE FUNCTION yesterday()
  2. RETURNS timestamp AS $$
  3. BEGIN
  4.   RETURN now() - INTERVAL '1 day';
  5. END;
  6. $$ LANGUAGE plpgsql;
复制代码



题目解决!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表