亲测有效!如何快速实现 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 等,充分满足用户在多样化场景中的数据管理需求。

相关推荐
struggle20254 小时前
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
数据库·typescript·neo4j
伤不起bb6 小时前
Redis 哨兵模式
数据库·redis·缓存
卑微的Coder6 小时前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis
2501_915373886 小时前
Redis线程安全深度解析:单线程模型的并发智慧
数据库·redis·安全
呼拉拉呼拉6 小时前
Redis知识体系
数据库·redis·缓存·知识体系
霖檬ing6 小时前
Redis——主从&哨兵配置
数据库·redis·缓存
卜及中9 小时前
【Redis/2】核心特性、应用场景与安装配置
数据库·redis·缓存
LucianaiB9 小时前
如何做好一份优秀的技术文档:专业指南与最佳实践
android·java·数据库
Eiceblue9 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
敖云岚12 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式