【DataX】数据同步到PG时遇到的分区不存在问题

news2024/10/3 6:32:05

数据同步到PG时遇到的分区不存在问题

  • 前言
  • 正文
    • 问题分析
    • 解决方法
  • 结语

前言

大概说下这个问题牵扯出来的背景,一个外场项目,选型用PG存业务数据,然后客户要求保存保留一年的数据,运行到现在服务器5个T的磁盘已经有点扛不住了,使用率接近90%:
在这里插入图片描述
项目经理无能,跟客户沟通调整存储周期无果,就把压力转给运维运营团队,经过一堆坎坷,最后决定用datax把原pg的数据同步到另一个同配置的pg节点去,然后再把原始数据清理掉,这样等于是变相的进行了存储的冷热分割了。

至于同步走的数据客户要的时候怎么办,那自然就是再同步回去了(甲方确实会想出这种刁难你的活路)

正文

问题分析

按照计划,开始进行数据同步,在部门的运维同事进行datax同步的时候一直说有问题,数据同步不了,截图如下:
在这里插入图片描述
报错信息:

no partition of relation "table_name" found for row

问题就是进行数据写入的时候,找不到对应的分区,这个触发的原因也比较简单,建表语句是:

CREATE TABLE table_name (
	......
	p_date varchar(255) NULL DEFAULT NULL::character varying,
	......
)
PARTITION BY LIST (p_date);

表建的是分区表,使用的是List Partitioning,而目标端的库只是建了表,并没有建分区,所以进行数据同步的时候,插入数据有问题,会报分区不存在。

解决方法

有了结论后,先尝试在库里先建分区:

create table tablename_20220601 partition of tablename for values in ('2022-06-01');

然后再进行同步,就能成功了。

不过总不能每次做同步前都先建分区,这样操作起来也烦得很,于是就去看了下datax的文档,找到了postgresqlwriter插件中的一个参数preSql
在这里插入图片描述
那么只需要把建分区的语句写入preSql就行了:

"writer":{
	"name":"postgresqlwriter",
	"parameter":{
		"username":"xx",
		"password":"xx",
		"column":[
			"id",
			"name"
		],
		"preSql":[
			"create table tablename_20220601 partition of tablename for values in ('2022-06-01');"
		],
		"connection":[
			{
				"jdbcUrl":"jdbc:postgresql://127.0.0.1:3002/datax",
				"table":[
					"test"
				]
			}
		]
	}
}

结语

Datax在做多数据源同步的时候,看起来依旧是目前最好用的方法,部署简单,也不对什么引擎强依赖,在做这些历史数据的同步时,属于是点击即用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内存的管理

取指令——译码——执行——返存 计组课我们学过cpu真正读指令并非是从内存中读入,而是从cache读和存,再由cache进行取指或返存,因为cpu指令周期比内存周期速度快很多,cpu若要取指或返存都需要等待内存完成他的动作才可以进行下一…

python爬虫:如何定义内容提取器

项目背景 在python 即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间,从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端的数据处理工作中。 解决方案 为了解决这个问题…

微信小程序使用scss编译wxss文件的配置步骤

文章目录1、在 vscode 中搜索 easysass 插件并安装2、在微信开发工具中导入安装的easysass插件3、修改 spook.easysass-0.0.6/package.json 文件中的配置4、重启开发者工具,就可用使用了微信小程序开发者工具集成了 vscode 编辑器,可以使用 vscode 中众多…

C++修炼之练气期三层——函数重载

目录 1.引例 2.函数重载的概念 3.C支持函数重载的原理 1.引例 倘若现在要实现一个加法计算器,用C语言实现的话我们会选择这样的方式: int Add_int(int a, int b) {return a b; }double Add_double(double a, double b) {return a b; } 在使用加…

Exposure2023专业摄影RAW格式大师专业滤镜特效

Exposure2023是一款专为摄影艺术设计的图像编辑器。新的 Exposure2023结合了专业级的照片调整、庞大的华丽照片库和令人愉悦的高效设计。可以提供最大,最准确的电影外观选择。Exposure的创意外观不仅限于电影模拟,从干净优雅的现代风格到引人注目的色彩变…

SpringBoot+Nacos+OpenFeign环境搭建

目录 1.boot方式nacos与openFeign集成 1.引入依赖 2.添加配置 3.测试接口调用 4.常见问题: 1.版本依赖 2.nacos客户端 2.cloud方式nacos与openFeign集成 1.引入依赖 2.添加配置 3.接口定义 4.开启FeignClients客户端 5.远程接口测试 6.Nacos配置中心 1…

Java - 数据结构,二叉树

一、什么是树 概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 1、有…

SAP ERP系统MM模块常用增强之四:采购申请输入字段的校验检查

在SAP/ERP项目的实施中采购管理模块(MM)的创建和修改采购申请一般都会有输入字段校验检查的需求,来防止业务人员录入错误或少录入数据,这方面需求部分是可以通过配置实现,比如一些字段是否必输,是否显示等&…

WebRTC拥塞控制算法——GCC介绍

网络拥塞是基于IP协议的数据报交换网络中常见的一种网络传输问题,它对网络传输的质量有严重的影响, 网络拥塞是导致网络吞吐降低, 网络丢包等的主要原因之一, 这些问题使得上层应用无法有效的利用网络带宽获得高质量的网络传输效果…

C++——智能指针1

目录 RAII auto_ptr模拟实现 智能指针拷贝问题 唯一指针 shared_ptr(可以拷贝) shared_ptr模拟实现 完整代码 循环引用 weak_ptr模拟实现 定制删除器 shared_ptr定制删除器模拟实现 内存泄漏 RAII RAII(Resource Acquisit…

SkyWalking使用案例

SkyWalking监控java项目Halo博客 Halo是一个开源的博客项目,使用java编写,官网地址:https://halo.run/ 安装java环境,Halo对java版本有限制,1.4.3版本以上需要使用java11以上 apt -y install openjdk-11-jdk java -…

matplotlib常用操作

文章目录1 matplotlib绘图1.1 绘图步骤2 matplotlib基本元素2.1 matplotlib 画布2.2 设置坐标轴长度和范围2.3 设置图形的线型和颜色2.4 设置图形刻度范围、刻度标签和坐标轴标签等2.4.1 设置刻度范围2.4.2 设置坐标轴刻度2.5 文本标签图例3 matplotlib的ax对象绘图4 绘制子图5…

2.3 黑群晖驱动:开启nvme缓存、将nvme缓存作为存储盘 教程

黑群晖驱动安装工具下载:链接:https://pan.baidu.com/s/1CMLl6waOuW-Ys2gKZx7Jgg?pwdchct提取码:chct一、开启NVME缓存在群辉->控制面板->终端机和SNMP->终端机中 勾选“启动SSH”功能,并点击应用;下载安装P…

HACKTHEBOX——Teacher

nmapnmap -sV -sC -p- -T4 -oA nmap 10.10.10.153nmap只发现了对外开放了80端口,从http-title看出可能是某个中学的官网http打开网站确实是一个官网,查看每个接口看看有没有可以利用的地方发现了一个接口,/images/5.png,但是响应包…

国内有哪些支持定制化的低代码平台?

编者按:贴合企业业务需求的系统才是好系统,高程度的定制能力平台意味着可以提供更高契合度的产品,更好地匹配业务需求。本文介绍了国内支持定制化的老厂商低代码平台,具有源码交付、私有化部署、国产化、数据对接等优势。关键词&a…

服务端开发之Java备战秋招面试篇5

努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧! 目录 1.ArrayList与LinkedList区别, 应用场景…

免费数据恢复软件哪个好?排名前十的软件有这些!

我们经常会使用电脑,有时是为了放松娱乐,有时是为了处理工作。里面保存着大大小小的数据,多的数不胜数。如果我们的数据丢失,通过很多方法都没有办法恢复,那么软件可以帮助用户轻松处理各种丢失的文件,并可…

IDEA git cherry pick 简单使用

cherry pick的作用: 参考了一些博客, eg:参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支。这也只是解决办法之一,之后遇到详细真实场…

普元EOS中导出excl页面下载

起因 需要做一个筛选功能的导出表格 解决办法 这个垃圾eos我是真受不了,sb玩意的缺点三天三夜也说不完 后边就没法整response的这些个东西,可真是够愁人的 在网上搜了搜 在普元的帮助文档里也看了看 普元提供的像是老太太的裹脚布一般又臭又长 参照这个可以看一下

怕被AI取代快想办法“攒”个“数字第二大脑”

每日经济新闻发文:来自央视财经微博2月27日消息,美国《财富》杂志网站近日报道,美国一家提供就业服务的平台对1000家企业进行了调查。结果显示,美国最新调查显示50%企业已在用ChatGPT,其中48%已让其代替员工,有公司省下10多万美元!还有30%表示,有计划使用。