文章目录
- 环境
- 症状
- 问题原因
- 解决方案
环境
系统平台:N/A
版本:9.0.4,9.0.3
症状
v9开启oracle兼容后通过5866端口通过执行sys_guid函数获取值与期望值不匹配
问题原因
V9开启oracle兼容后会在pg_catalog模式下生成sys_guid函数,该函数调用优先级高于新建在其他模式下的同名函数,用法与oracle相同,非调用uuid扩展而来。
解决方案
方案1: 将pg_catalog模式下sys_guid()函数更改函数名,更改前请确认是否使用oracle兼容模式下对应函数,改名命令如下:
alterfunctionpg_catalog.sys_guid()renametosys_guid1;方案2: 修改应用代码,可将sys_guid()部分替换为模式名.sys_guid(),例如该函数创建在public模式下则可替换为public.sys_guid();