MYSQL GET_LOCK / RELEASE_LOCK 咨询锁函数 迁移 openGauss 6.0 B 模式(Dolphin) 适配说明

迁衡基于规则 my.func.advisory_locks 分析 MYSQL GET_LOCK / RELEASE_LOCK 咨询锁函数 到 openGauss 6.0 B 模式(Dolphin) 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度partial
严重度major
置信度medium
依据规则my.func.advisory_locks

迁移建议

需按命中位置逐条评估改写

判定说明

Dolphin 含 MySQL 命名锁函数兼容实现,锁作用域、超时及断连释放语义需验证;结论为 doc_based 草案,建议 PoC 复核

库侧 / 应用侧路径

库侧改造

可行:MySQL 兼容目标核对 GET_LOCK 支持与作用域;PG 系改 pg_advisory_lock(键改整数哈希)

应用侧改造

可行:分布式锁上移应用层既有组件(Redis/ZooKeeper 等)

推荐路线:case_by_case。验证建议:判定条件:锁的作用域要求(跨库/跨服务则上移应用层);锁互斥与超时行为并发实测

规则样例

SELECT GET_LOCK('job:sync', 10)
SELECT RELEASE_LOCK('job:sync')

参考来源

相关改造点

技术支持

微信交流群 微信二维码

微信:prejudice_me