You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift调用主存储过程提示procedure不存在报错如何解决?

报错排查及解决步骤
  • 问题根因定位

你创建存储过程时指定了schema前缀schema.master_stored_procedure,但调用时未携带schema,当前数据库会话的搜索路径search_path未包含该schema,因此数据库无法找到对应存储过程。

  • 分步排查解决

  1. 校验存储过程是否创建成功
    执行如下SQL查询存储过程是否存在:
SELECT proname, nspname AS schema_name
FROM pg_proc p
JOIN pg_namespace n ON p.pronamespace = n.oid
WHERE proname = 'master_stored_procedure';

如果查询无结果,说明之前的CREATE语句执行失败,需检查CREATE阶段的报错信息,确认你对目标schema有创建权限、语法无错误。

  1. 核对schema路径配置
    执行命令查看当前会话的搜索路径:
    SHOW search_path;
    如果输出结果中不包含你创建存储过程时指定的schema,选择以下任意一种方法解决:
  • 调用时补全完整schema路径:CALL schema.master_stored_procedure();(将schema替换为你实际使用的schema名即可)
  • 临时修改当前会话的搜索路径,追加目标schema:SET search_path TO 你的schema名, public;,修改完成后可直接调用CALL master_stored_procedure();
  1. 额外注意事项
    主存储过程内部调用的stored_procedure_1、stored_procedure_2建议也补全schema前缀,避免主过程执行时出现子存储过程找不到的同类报错。

内容的提问来源于stack exchange,提问作者Aim_headshot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:45:03