前言:
这么实用的工具,竟然本日才发现,相见恨晚呀!!!!
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天的数据:
- 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;
复制代码
题目解决!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |