视图不支持安全模式 CREATE DEFINER=CURRENT_USER SQL SECURITY INVOKER VIEW

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】4.3.2.1
【问题描述】视图创建时,无法创建,不支持DEFINER=CURRENT_USER SQL SECURITY
【复现路径】执行语句提示无法执行
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

官方文档中无对此支持的说明

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题: 在 OceanBase 4.3.2.1 版本中,视图创建时无法使用 DEFINER=CURRENT_USER SQL SECURITY,如何解决?

针对您的问题,首先我们需要确认是否是因为权限或配置问题导致的。建议先使用 obdiag 工具进行日志采集,以便我们能够更准确地定位问题。

日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请您执行上述命令并提供采集到的日志压缩包,这将有助于我们进一步分析问题。同时,为了更好地帮助您解决问题,请您提供以下信息:

  1. 您当前使用的用户是否有足够的权限来创建视图?
  2. 您尝试创建视图的具体 SQL 语句是什么?
  3. 创建视图时遇到的具体错误信息是什么?
  4. 您是否在其他版本的 OceanBase 中成功创建过类似的视图?
  5. 您是否对 OceanBase 进行了任何自定义配置或修改?如果有,请提供相关配置信息。

附上敏捷诊断工具 obdiag 使用帮助链接

1、不好意思 暂时不支持这样的语法 CREATE DEFINER=CURRENT_USER SQL SECURITY INVOKER VIEW
2、CREATE SQL SECURITY INVOKER VIEW 这个是语法兼容的 但是没有实际的功能