logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ElasticSearch迁移至openGauss

Elasticsearch 作为一种高效的全文搜索引擎,广泛应用于实时搜索、日志分析等场景。而 openGauss,作为一款企业级关系型数据库,强调事务处理与数据一致性。那么,当这两者的应用场景和技术架构发生交集时,如何实现它们之间的平滑迁移呢?关系型数据库:6.x之前:Index → Type → Document (类似Database → Table → Row)7.x之后:Index →

文章图片
#elasticsearch#jenkins#大数据 +1
【openGauss】谈谈openGauss中的raw类型

OpenGauss数据库中的RAW类型处理机制解析 摘要:本文探讨了OpenGauss数据库中RAW类型的使用方法及其与Oracle的区别。OpenGauss支持18个RAW相关函数,包括hextoraw/rawtohex转换、rawcat拼接、rawcmp比较等。研究发现:1)RAW类型本质上是二进制数据,采用bytea方式存储;2)相同名称函数可能因参数类型不同产生不同结果;3)直接使用RAW

文章图片
#oracle#数据库
【openGauss】谈一谈openGauss对Oracle中lob类型的兼容情况

摘要:Oracle和openGauss在LOB(大对象)数据类型处理上有显著差异。Oracle中BLOB/CLOB可存储4GB数据,通过LOB定位器访问,需用专用包(如dbms_lob)操作;而openGauss基于PostgreSQL,BLOB/CLOB仅是TEXT/RAW的别名,最大1GB,可隐式互转。二进制数据处理需特别注意:openGauss需先将BLOB转RAW再转BYTEA才能正确使用

文章图片
#数据库#database
【openGauss】让gsql和sqlplus输出包含有SQL及数据的完全一致的文本文件

摘要:本文探讨了从Oracle迁移到openGauss/MogDB时实现数据核对的技术方案。针对传统核对工具存在的格式不一致问题,作者提出了一种创新的JSON转换方法:通过创建表函数将查询结果转换为标准JSON格式,统一了sqlplus和gsql的输出格式。该方法解决了列宽不一致、提示符差异等难题,最终实现了两个数据库查询结果的完全一致输出。文中详细对比了两种数据库的多种输出方式,并提供了完整的实

文章图片
#sql#数据库#database
【openGauss】OPENGAUSS/POSTGRESQL 中float类型到int类型的隐式转换

摘要:本文分析了Oracle和openGauss在浮点数转整数时结果差异的问题。测试发现,当小数部分为0.5时,Oracle返回1而openGauss返回0,但1.5时两者都返回2。通过分析openGauss源码发现其使用C++标准函数std::rint()实现银行家舍入法。进一步测试Oracle的binary_double类型转换时出现更多不一致结果,甚至出现整数类型显示小数的异常现象。文章建议

文章图片
#数据库#sql#database
【openGauss】一种可能是目前最快的从ORACLE同步数据到MogDB(openGauss)的方式

本文提出了一种高效的Oracle到MogDB数据同步方案,通过结合sqluldr2工具的标准输出功能和gsql的\copy标准输入功能,利用Linux管道实现数据实时传输。该方法避免了中间文件存储,实现导入导出同步进行,理论上传输时间仅取决于较慢的一端。具体步骤包括:配置双数据库客户端环境,使用sqluldr2导出数据到标准输出,通过管道直接传递给gsql的\copy命令导入。测试表明该方法能正确

文章图片
#oracle#数据库#database +1
【openGauss】两种在openGauss中使用存储过程生成文本文件的方式

本文探讨了在openGauss中实现Oracle utl_file包功能的解决方案。主要介绍了两种方法:一是通过orafce兼容插件实现基本功能,并针对openGauss特性进行改进,结合pg_directory系统表实现目录管理;二是利用openGauss原生copy to语法结合AUTHID definer特性,直接实现查询结果导出文件的功能。

文章图片
#数据库#database#sql
【openGauss】如何在openGauss中实现类似Oracle中constructor function、member function的功能

本文探讨了在openGauss 3.0中实现类似Oracle面向对象编程特性的方法。由于openGauss不支持Oracle中的对象类型构造器和成员函数,作者提出通过创建同名type和package的方式实现类似功能。具体方案包括:1)在package中创建self函数作为构造器;2)将原成员函数改写为package函数,并添加self参数;3)调用时使用包名.函数的方式。这种改写方式虽然采用面向

文章图片
#oracle#数据库#database
【openGauss】让gsql和sqlplus输出包含有SQL及数据的完全一致的文本文件

摘要: 本文探讨了从Oracle迁移到openGauss/MogDB时如何进行高效数据核对。虽然官方提供mvd工具,但用户可能希望自定义核对,需解决多表批量核对、数值列求和、业务规则分组统计等问题。文章对比了sqlplus和gsql的多种输出方式(如spool、\o、控制台回显),分析格式一致性难点(列宽、提示符、大小写等),最终提出JSON转换方案:通过json_object(*)(Oracle

文章图片
#sql#数据库
【openGauss】SQLCODE竟然不是数值类型?

摘要:本文分析了openGauss中SQLCODE与SQLSTATE在兼容模式下的转换规则。通过源码解析,揭示了数值型SQLCODE转换为字符串型SQLSTATE的算法原理,并提供了相应的PLPGSQL函数实现双向转换。测试验证了转换函数的正确性,并提出通过配置参数实现与Oracle错误代码兼容的方案,以降低应用迁移成本。该方案可帮助解决数值型变量接收SQLCODE时的类型不匹配问题,同时支持双轨

文章图片
#数据库#sql#database
    共 828 条
  • 1
  • 2
  • 3
  • 83
  • 请选择