亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine

小T导读:本篇文章是“2024,我想和 TDengine 谈谈”征文活动的优秀投稿之一,作者从数据库运维的角度出发,分享了利用 TDengine Cloud 提供的迁移工具,从 PostgreSQL 数据库到 TDengine 进行数据迁移的完整实践过程。文章详细记录了从创建数据库实例、配置代理,到添加数据源、同步数据的每一个步骤,并结合实际操作中遇到的问题与解决经验,展现了 TDengine Cloud 的便利性和研发团队的高效响应能力。对于关注数据库迁移的技术人员来说,这篇文章是一个宝贵的经验分享。

从数据库管理员(DBA)或运维人员的角度来看,判断数据库是否易用,最直观且通常最先面临的问题便是存量数据库的迁移。如果数据库厂商能够提供一款高效便捷的迁移工具,使用户能够快速将源数据库的数据迁移至目标数据库,不仅能为用户留下良好的第一印象,也将大大促进后续工作的顺利开展。由于线下缺乏合适的迁移工具,因此本文将利用 TDengine Cloud 提供的迁移工具,对从 PostgreSQL 数据库迁移至 TDengine 的过程进行初步体验和探索。

创建数据库实例

首先,我们需要在官方 TDengine Cloud 平台(https://cloud.taosdata.com/auth)上完成注册并创建数据库实例。该过程操作简便,此处不再赘述。

创建新的代理

由于我的源数据库位于本地虚拟机,而目标数据库托管于 TDengine Cloud,因此需要在本地虚拟机上安装代理,以确保 TDengine Cloud 能够访问本地虚拟机中的 PostgreSQL 数据库。

1.点击左侧数据写入菜单,在该界面中,再次点击创建新的代理。

2.根据实际环境选择适配的代理软件版本进行下载。以官网提供的 Linux 版本为例,本文下载的是 x86 架构的代理程序。下载并安装完成后,通过命令 taosx-agent -V 验证安装是否成功,然后点击“下一步”继续操作。

3.在该界面输入代理名称,系统将为它生成一个连接令牌。

4.在已安装代理程序的服务器上,进入 /etc/taos 目录,找到 agent.toml 文件,将系统生成的端点地址和令牌复制到该文件中进行配置。

endpoint="https://39.97.158.21"
token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEzNywiaWF0IjoxNzI2MTk2NDY3fQ.YmxGvRzlXdOgpXEKiUv-x68TFRzkYhXIRcJgRiWY0xk"

5.启动代理服务并查看服务器的状态。

添加数据源

1.在数据写入的页面中,点击添加数据源。

2.在数据源配置界面中,选择数据源类型为 PostgreSQL,代理选择之前创建的代理,目标数据库选择已创建的 demo 数据库(本文直接使用此前创建的数据库)。如果需要,也可参考下一步自行创建新数据库。

3.创建 demo 数据库。

4.填写 PostgreSQL 数据库 IP、端口、数据库名、用户名、密码等信息。

5.检查连通性,如果界面提示“您的数据源可以连通”,就表示配置没什么问题。

6.配置采集数据的 SQL,在 SQL 中必须包括开始时间与结束时间。

7.点击从服务器检索,观察是否可以成功获取到数据。如果报错,则根据报错提示,修改 SQL 配置。

8.点击创建超级表,会自动关联刚才识别到的字段信息,根据需要修改字段类型、填写表名称,最后点击确定按钮。

9.点击确认按钮后,超级表就创建成功了。接下来,我们需要在当前界面填写子表和 tag 列对应数据。

10.点击新增按钮,数据源添加成功,并可在数据源列表中查看相关信息。

查看数据同步情况

点击刚刚接入数据源的“查看”按钮,即可查看同步信息,包括同步时长、写入速度以及已处理的行数等详细数据。

核对同步数据

点击数据浏览器,选择对应的数据并查看业务表,就可以看到同步的数据。

你也可以自行写 SQL 来核对已经同步的数据量。

结语

本次从 PostgreSQL 数据库迁移至 TDengine的体验整体非常流畅。即使在迁移过程中遇到问题,也能够借助官方提供的支持快速定位并解决,充分展现了 TDengine 工具的便捷性和研发团队的高效响应能力。如果你也对 TDengine 的迁移工具感兴趣,不妨亲自尝试操作,体验其强大的功能。

TDengine 有话说

作为一款专注于时序数据的高效数据库,我们始终致力于简化用户的迁移过程。在 TDengine 3.3.0.0 和 3.3.2.0 版本中,我们进一步增强了数据接入功能,实现了传统关系型数据库向 TDengine 的平滑迁移。这两次重要更新成功打通了 MySQL、PostgreSQL、Oracle 和 SQL Server 到 TDengine 的迁移路径,大幅提升了迁移效率和用户体验。

不仅如此,TDengine 在数据接入方面还支持与多种数据源的无缝对接,包括 AVEVA Historian、OPC、Kafka、MQTT、InfluxDB 和 PI System 等,充分满足用户在多样化场景中的数据管理需求。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

matlab实现数据极坐标显示

%% % 读取文件数据 filename E:\ProjectWorkspace\866\866data\665hangji.txt;%代码 距离 方位相对正北 时间 地址 横滚角度 TRK importdata(filename); filename1 E:\ProjectWorkspace\866\866data\665dianji.txt;%代码 距离 方位相对正北 时间 地址 横滚角度 PLOT …

Jenkins 启动

废话 这一阵子感觉空虚,心里空捞捞的,总想找点事情做,即使这是一件微小的事情,空余时间除了骑车、打球,偶尔朋友聚会 … 还能干什么呢? 当独自一人时,究竟可以做点什么,填补这空虚…

人工智能之深度学习_[4]-神经网络入门

文章目录 神经网络基础1 神经网络1.1 神经网络概念1.1.1 什么是神经网络1.1.2 如何构建神经网络1.1.3 神经网络内部状态值和激活值 1.2 激活函数1.2.1 网络非线性因素理解1.2.2 常见激活函数1.2.2.1 Sigmoid 激活函数1.2.2.2 Tanh 激活函数1.2.2.3 ReLU 激活函数1.2.2.4 SoftMa…

卸载和安装Git小乌龟、git基本命令

卸载 Git 打开控制面板: 按 Win R 打开运行对话框,输入 control 并按回车键。或直接在功能搜索里搜索“控制面板”。在控制面板中,选择“程序”或“程序和功能”。 查找并卸载 Git: 在程序列表中找到“Git”或“Git for Windows…

群论学习笔记

什么是对称? 对称是一个保持对象结构不变的变换,对称是一个过程,而不是一个具体的事物,伽罗瓦的对称是对方程根的置换,而一个置换就是对一系列事物的重排方式,严格的说,它也并不是这个重排本身…

C语言自定义类型:结构体

结构体简介: c语言里int 、float、double、等等类型来表示一个对象,但有时也有未能表达的对象,比如表示一个人的类型,这个类型里有人的身高、体重、年龄等等,这就需要很多个类型来拼凑,这就很不方便。于是…

【整体介绍】

ODO:汽车总行驶里程 Chime: 例如安全带没系的报警声音 多屏交互就是中控屏的信息会同步到主驾驶的仪表盘上 面试问题:蓝牙电话协议HFP 音乐协议A2DP 三方通话测试的逻辑

线性规划:机器学习中的优化利器

一、线性规划的基本概念 线性规划(Linear Programming, LP)是运筹学中数学规划的一个重要分支,用于在一组线性不等式的约束条件下,找到线性目标函数的最大值或最小值。其问题可以表述为: 在一组线性约束条件 s.t.&am…

SurgiTrack:外科手术视频中的细粒度多类别多工具跟踪|文献速递-视觉大模型医疗图像应用|文献速递-视觉大模型医疗图像应用

Title 题目 SurgiTrack: Fine-grained multi-class multi-tool tracking in surgical videos SurgiTrack:外科手术视频中的细粒度多类别多工具跟踪 01 文献速递介绍 手术器械跟踪在计算机辅助手术系统中发挥着至关重要的作用,可为一系列应用提供有价…

亚博microros小车-原生ubuntu支持系列:1 键盘控制

背景:电脑配置不太行,我在ubuntu再运行vmware,里面运行亚博官方的虚拟机镜像ubuntu,系统很卡。基本上8G内存给打满了。还是想把亚博官方的代码迁移出来,之前售后就说除了官方镜像虚拟机,需要自己摸索迁移。…

总结5..

#include<stdio.h> struct nb {//结构体列队 int x, y;//x为横坐标&#xff0c;y为纵坐标 int s, f;//s为步数&#xff0c;//f为方向 }link[850100]; int n, m, x, y, p, q, f; int hard 1, tail 1; int a[52][52], b[52][52], book[52][52][91]; int main() { …

鸿蒙系统 将工程HarmonyOS变成OpenHarmony

DevEco Studio软件创建工程后需要修改两个地方&#xff1a; 修改第二个build-profile.json5文件 将原先内容&#xff1a; {"app": {"signingConfigs": [],"products": [{"name": "default","signingConfig": &q…

什么样的问题适合用递归

递归是一种通过函数调用自身来解决问题的方法。递归适用于那些可以被分解为相似子问题的问题&#xff0c;即原问题可以通过解决一个或多个更小规模的同类问题来解决。递归通常需要满足以下两个条件&#xff1a; 递归基&#xff08;Base Case&#xff09;&#xff1a;问题的最简…

C# 网络协议第三方库Protobuf的使用

为什么要使用二进制数据 通常我们写一个简单的网络通讯软件可能使用的最多的是字符串类型&#xff0c;比较简单&#xff0c;例如发送格式为(head)19|Msg:Heart|100,x,y,z…&#xff0c;在接收端会解析收到的socket数据。 这样通常是完全可行的&#xff0c;但是随着数据量变大&…

认识BOM

BOM 弹出层 可视窗口尺寸 屏幕宽高 浏览器内核和其操作系统的版本 剪贴板 是否允许使用cookie 语言 是否在线

国产编辑器EverEdit - 大纲视图

1 大纲视图 1.1 应用场景 在编辑较长代码文件时&#xff0c;使用大纲视图可以方便的检视当前文件的变量、函数等信息&#xff0c;方便在不同函数间跳转&#xff0c;对整个文档的全貌了然于胸。   在编辑XML文档时&#xff0c;通过展示XML文件的层次结构、节点布局&#xff0…

(2)STM32 USB设备开发-USB虚拟串口

例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为USB虚拟串口教程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB虚拟串口。本例子是在野火F103MINI开发板上验证的&#xff0c;如果代码中出现一些外设的…

68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)

<?php // 声明命名空间&#xff0c;遵循 PSR-4 自动加载规范&#xff0c;命名空间为 Home\Controller namespace Home\Controller;// 导入 Think\Controller 类&#xff0c;以便扩展该类 use Think\Controller;// 定义 IndexController 类&#xff0c;继承自 Think\Control…

AutoGen入门——快速实现多角色、多用户、多智能体对话系统

1.前言 如https://github.com/microsoft/autogen所述&#xff0c;autogen是一多智能体的框架&#xff0c;属于微软旗下的产品。 依靠AutoGen我们可以快速构建出一个多智能体应用&#xff0c;以满足我们各种业务场景。 本文将以几个示例场景&#xff0c;使用AutoGen快速构建出…

阿九的python 爬虫进阶课18.3 学习笔记

文章目录 前言1. 爬取大标题2. 爬取小标题3. 证券栏下的标题4. 某篇文章里的具体内容 前言 网课链接&#xff1a;https://www.bilibili.com/video/BV1kV4y1576b/新浪财经网址&#xff1a;https://finance.sina.com.cn/需先下载库&#xff1a; conda install lxml布置爬取的一…