当前位置: 首页 > 面试题库 >

如何在PostgreSQL中获取聚合的定义/源代码?

祖波光
2023-03-14
问题内容

但是,如何在CREATE AGGREGATE没有GUI客户端的情况下获取该语句(例如,使用psql命令行)?


问题答案:

像这样的东西,但是我不确定这是否涵盖创建聚合的所有可能方式(它确实没有考虑到使用引号引起来的标识符)

SELECT 'create aggregate '||n.nspname||'.'||p.proname||'('||format_type(a.aggtranstype, null)||') (sfunc = '||a.aggtransfn
       ||', stype = '||format_type(a.aggtranstype, null)
       ||case when op.oprname is null then '' else ', sortop = '||op.oprname end 
       ||case when a.agginitval is null then '' else ', initcond = '||a.agginitval end
       ||')' as source
FROM pg_proc p 
  JOIN pg_namespace n ON p.pronamespace = n.oid 
  JOIN pg_aggregate a ON a.aggfnoid = p.oid 
  LEFT JOIN pg_operator op ON op.oid = a.aggsortop 
where p.proname = 'your_aggregate'
  and n.nspname = 'public' --- replace with your schema name


 类似资料:
  • 我必须在弹性搜索中使用聚合执行搜索。因为刻面将在不久的将来被删除,所以我不能使用刻面。 当然,我被鼓励使用聚合。 下面的代码给了我想要的输出: 聚合聚合=elasticsearch chTemplate.query(搜索查询,新的结果提取器(){@覆盖公共聚合提取(搜索响应响应){返回response.get聚合(); 但问题是,它成为了我的弹性搜索查询之外的第二个查询,这使得它变得非常慢。 我正

  • 我正在遵循这个关于通过java API创建YarnApp的示例。 https://github.com/hortonworks/simple-yarn-app 工作正常,但日志只存在于执行中,之后日志就消失了。 我怎么能通过代码捕捉到这个?或者启用一个选项?

  • 问题内容: 我正在使用postgres 9.4,我有以下查询: 返回以下关系: 我正在尝试编写相同的查询,但这样我就获得了项目代码,并将活动名称作为相对于每个“ pid”的json数组 所以我正在寻找一个查询,该查询将返回如下内容: 有任何想法吗?在此先感谢您的帮助 更新 这是我所做的(与Abelisto所说的很接近): 问题答案:

  • 本文向大家介绍如何获取 MongoDB 聚合中的子字符串,包括了如何获取 MongoDB 聚合中的子字符串的使用技巧和注意事项,需要的朋友参考一下 要获取子字符串,请在MongoDB中使用$substr。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是在MongoDB聚合中获取子字符串的查询- 这将产生以下输出-

  • 我知道如何在SparkSQL中编写UDF: 我可以做类似的事情来定义聚合函数吗?这是怎么做到的? 对于上下文,我想运行以下SQL查询: 它应该会返回类似于 我希望聚合函数告诉我,在由< code>span和< code>timestamp定义的组中,是否有任何< code>opticalReceivePower的值低于阈值。我需要把我的UDAF写得和我上面粘贴的UDF不同吗?

  • 我在我的cassandra db中实现了用户定义的聚合函数average,如链接https://docs.datastax.com/en/dse/5.1/cql/cql/cql_using/usecreateuda.html所述 创建或替换对空输入调用的函数avgState(state Tuple ,val int)返回元组 语言Java为“if(val!=NULL){state.SetInt(0