
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要 DuckDB和PostgreSQL在unnest函数处理上存在显著差异。PostgreSQL的unnest能根据位置决定展开层级,而DuckDB需要显式参数控制展开行为:必须指定recursive := true或max_depth参数才能展开嵌套字段。测试显示DuckDB默认不展开结构体字段,对JSON类型支持自动展开,且在FROM子句中不支持参数化调用。相比Oracle的table函数或
在ORACLE迁移到openGauss的过程中,可能会发现一个这样的报错这个报错发生在merge into语句中,当update的列存在于on子句中就会报错。但是经常在ORACLE里写SQL的都知道,ORACLE里也是有这个报错的。是不是在ORACLE中的原始SQL执行也会报错?但事实上,迁移的这条原始SQL在ORACLE里真的不会报错!

学习任何一种数据库,必须要了解它的数据字典,这样有利于了解数据库的结构、解读部分日志、定位一些问题。PG/OG系数据库的系统元数据遵从一个统一的设计规则,可以让初学者快速入门。本文以MogDB为例,剖析一下PG/OG系数据库的系统元数据设计哲学。一、pg_depend先来看pg_depend的表结构名称类型引用描述classidoid有依赖对象所在系统表的OID。objidoid任意OID属性指定

前言在前后端交互的开发中,经常会遇到需要将一些二进制数据,比如图片文件,编码成可打印的ascii字符进行传递;又者,开发人员不希望数据在传递中明文显示传递的文本内容,并且有些字符不是ascii字符,无法很好的兼容各种环境。所以这就涉及到了各种编码的转换。虽然目前各种开发语言均可处理此类编码,但的确是存在一些场景需要在数据库中对数据直接进行编解码的操作。比如应用直接将编码后的数据存到了数据库,但如果
摘要:本文分析了GaussDB中Insert Select操作性能问题的定位过程。当向带主键的目标表插入500万行数据时耗时10分钟,而去掉主键仅需十几秒。研究发现GaussDB 506.0版本引入了"ubtree批量插入索引"特性,默认开启RCR索引。通过对比测试发现shared_buffers配置过小(32MB)是主因,调整为10GB后性能显著提升。测试案例显示,相同数据插
本文介绍了如何定制化构建一个支持GaussDB的Kylin v10 SP3系统Docker镜像。由于国产化适配需求迫切,而服务器资源有限,使用Docker镜像可以方便地创建多套开发测试环境。文章详细分析了GaussDB运行所需的系统依赖组件,包括coreutils、glibc、libaio等,并提供了通过ldd命令查找依赖的方法。通过定制化构建,可以生成仅包含必要组件的最小化镜像,既满足Gauss
本文介绍了使用Docker Compose一键部署Oracle ADG(Active Data Guard)主备环境的方法。作者通过AI辅助开发,解决了传统搭建Oracle ADG环境复杂的问题,实现了主备库秒级同步。项目采用分层镜像构建策略,包含基础系统镜像和Oracle软件镜像,支持主库创建、备库克隆和DG配置全自动化。文档详细说明了环境要求、部署步骤、连接信息和状态检查方法,并提供了主备切换
文章摘要 GaussDB 507内核版本对安装包结构进行了重大调整,将不同操作系统和CPU架构的内核包拆分为6个独立文件(3种OS×2种CPU架构),不再包含符号表。安装包按Linux分支划分为SUSE、Euler和HCE三类,实际兼容更多国产操作系统,分组依据主要为Python版本(3.7.9和≥3.9.9两档)。相比506版本,507版本放宽了对操作系统小版本的限制,通过验收测试即可验证兼容性
文章摘要:本文记录了在ARM64环境下排查GaussDB Python驱动(psycopg3)导致coredump问题的过程。作者通过对比测试发现,在x86_64环境运行正常的代码在ARM64环境会出现段错误,而直接使用C语言调用libpq则无此问题。通过华为云开发容器复现问题后,作者编写了最小化测试用例,发现无论是通过SQLAlchemy还是直接使用Python驱动连接GaussDB都会导致co
摘要:频繁执行DROP/CREATE TABLE操作会导致PostgreSQL系统目录膨胀、锁竞争、缓存失效等问题。主要解决方案包括:1) 激进调优autovacuum参数,加快系统目录清理;2) 定时手动VACUUM关键系统表;3) 调整系统目录表的fillfactor参数;4) 使用事件触发器拦截DDL操作;5) 通过连接池控制并发;6) 优化WAL和checkpoint配置;7) 对非关键数







