【YashanDB知识库】Kettle迁移PostgreSQL到YashanDB

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7396988.html?templateId=1718516

概述

由于YMP不支持PostgreSQL数据库,因此使用开源工具Kettle迁移PosgreSQL数据到YashanDB。本文介绍了Windows环境的Kettle使用方式进行数据迁移。

环境

Kettle版本:8.3

JAVA版本:1.8

源PostgreSQL:版本12

目标YashanDB:23.2.1.100

执行方式

Kettle可以在Windows执行,Windows环境可以使用图形界面,便于使用和调试。

Windows执行Kettle

1、确保Windows当前JAVA环境是JAVA 1.8。如果当前Windows环境存在多个JAVA版本,而默认JAVA环境不是JAVA 1.8,则可以通过Windows环境变量保证Kettle使用JAVA 1.8,例如示例:

PENTAHO_JAVA设置为C:\Program Files\Java\jre-1.8\bin\java.exe

PENTAHO_JAVA_HOME设置为C:\Program Files\Java\jre-1.8

2、解压作业zip包,放置在Kettle所在目录。

3、在Kettle所在目录运行Spoon.bat,启动图形操作界面。

4、打开syncData_PostgreSQL_YashanDB.kjb,这个任务是总任务,它封装了多个子任务用于从PostgreSQL迁移数据到崖山。

5、打开getDatas_PostgreSQL_YashanDB,这个任务是实际执行从PostgreSQL迁移数据到崖山的任务,封装了DB连接,需要根据实际环境进行调整和测试,确保后续配置DB连接PostgreSQLInput和YashanOutput的步骤都测试成功。

6、修改getDatas_PostgreSQL_YashanDB的DB连接PostgreSQLInput,连接类型使用PostgreSQL,然后输入PostgreSQL的主机地址、数据库名字、端口号、用户名和密码,点击“测试”,测试通过后选择“确认”。

7、修改getDatas_PostgreSQL_YashanDB的DB连接YashanOutput,连接类型使用Generic database,连接方式使用Native(JDBC),设置自定义JDBC URL(jdbc:yasdb://YashanDB_IP:YashanDB_PORT/YashanDB_User)和JDBC驱动类名称,并输入用户名和密码,点击“测试”,测试通过后选择“确认”。

8、修改DB连接PostgreSQLInput和YashanOutput后,getDatas_PostgreSQL_YashanDB配置处于未保存状态,请务必对该任务进行保存。

9、修改tablelist_PostgreSQL_YashanDB.csv,这个配置文件用于指定PostgreSQL需要迁移的库表名,注意这里需要和PostgreSQL的库表大小写保持一致,例如:

owner,table_name

dbmgr,t1

dbmgr,t2

dbmgr,t3

注意:1) owner这一列对应于PostgreSQL的schema;2) tablelist_PostgreSQL_YashanDB.csv最后一行不能为空行。

10、切换回syncData_PostgreSQL_YashanDB.kjb,执行运行即可。

11、确保数据迁移作业成功完成,如果迁移失败,可查看运行日志,定位原因并修复问题,然后重试迁移即可(注意:每次同步之前会将目标库中目标表truncate,所以保证重试不会存在数据重复或者冲突的问题)。

posted @   YashanDB  阅读(1)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示