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

创建plpgsql日期校验函数报language plpgsql not supported错误如何解决?

报错原因

该报错的核心是你使用的数据库不支持plpgsql作为自定义函数的开发语言:

  • 最常见的场景为使用Amazon Redshift:Redshift虽基于PostgreSQL内核开发,但裁剪了PL/pgSQL语言支持,不允许创建PL/pgSQL类型的自定义函数
  • 如果你使用的是原生PostgreSQL,说明当前数据库未加载plpgsql扩展
解决方案

场景1:使用Amazon Redshift

直接使用SQL语言编写校验函数,借助Redshift自带的TRY_CAST函数实现日期合法性校验,替代原PL/pgSQL逻辑:

CREATE OR REPLACE FUNCTION public.valid_date(p_str varchar(50))
RETURNS boolean
IMMUTABLE
AS $$
SELECT TRY_CAST($1 AS DATE) IS NOT NULL;
$$ LANGUAGE sql;

该函数和你原有PL/pgSQL函数的逻辑完全一致:输入字符串可合法转换为日期则返回true,转换失败则返回false。

场景2:使用原生PostgreSQL

先执行扩展创建命令开启plpgsql支持,再执行你原有函数创建语句即可:

CREATE EXTENSION IF NOT EXISTS plpgsql;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:45:03