自定义聚合函数 parallel = safe 在 postgres 13.3 中生成语法
Posted
技术标签:
【中文标题】自定义聚合函数 parallel = safe 在 postgres 13.3 中生成语法【英文标题】:Custom aggregate function parallel = safe produces syntax in postgres 13.3 【发布时间】:2021-09-26 03:55:01 【问题描述】:这会导致并行语法错误
CREATE AGGREGATE public.first (
sfunc = public.first_agg,
basetype = anyelement,
stype = anyelement,
parallel = safe
);
也许是因为这个? https://www.postgresql-archive.org/reate-parallel-aggregate-td5923553.html
我不知道是否有语法变化或什么,如果有,新语法会是什么?
【问题讨论】:
【参考方案1】:您可以使用the new or the old syntax。新版本中没有BASETYPE
,旧版本中没有PARALLEL
。在新语法中,您应该将基本类型定义为arg_data_type
:
CREATE AGGREGATE public.first(anyelement) (
sfunc = public.first_agg,
stype = anyelement,
parallel = safe
);
【讨论】:
是的,这很偷偷摸摸:wiki.postgresql.org/wiki/First/last_(aggregate)以上是关于自定义聚合函数 parallel = safe 在 postgres 13.3 中生成语法的主要内容,如果未能解决你的问题,请参考以下文章