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

PostgreSQL 14调用partman.create_parent()函数报错不存在求助

排查步骤
  • 确认pg_partman扩展已正确安装
    执行以下SQL检查扩展是否存在:

    SELECT * FROM pg_extension WHERE extname = 'pg_partman';
    

    如果无返回结果,说明未安装,需使用超级用户执行安装命令:

    CREATE EXTENSION pg_partman;
    
  • 确认执行SQL的用户是授权的partman_user
    你已给partman_user授权,但如果执行SQL时使用的是其他用户(比如postgres),该用户可能无权限访问partman的函数。切换到partman_user后重新执行SQL。

  • 检查pg_partman版本与PostgreSQL 14的兼容性
    PostgreSQL 14需要搭配pg_partman 4.0及以上版本,旧版本(如3.x)不兼容PG14,会导致函数不存在或参数不匹配。执行以下SQL查看版本:

    SELECT partman.version();
    

    若版本低于4.0,需升级pg_partman到兼容版本。

  • 验证partman.create_parent函数是否存在于partman schema
    执行以下SQL确认函数位置:

    SELECT proname, nspname 
    FROM pg_proc 
    JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid 
    WHERE proname = 'create_parent';
    

    若返回的nspname不是partman,说明函数不在预期schema下,需检查安装过程是否有误。

  • 尝试显式指定参数类型
    虽然通常无需显式转换,但可以尝试给参数添加类型转换,排除类型匹配问题:

    SELECT partman.create_parent(
        p_parent_table := 'public.test_table'::text,
        p_control := 'last_seen'::text,
        p_interval := '1 day'::text
    );
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 09:51:00