postgresql聚合函数存储在哪里?

时间:2018-04-27 22:08:21

标签: postgresql aggregate-functions pgadmin-4

我创建了一个聚合函数,我甚至可以使用它。但我无法在任何数据库层次结构下找到它。它不在功能之下。

它们隐藏在视线之外吗?我正在使用pgAdmin ide。

1 个答案:

答案 0 :(得分:1)

查找此类查询的最佳方法是使用带有--echo-hidden选项的psql。然后运行psql元命令,您将看到使用的查询

SELECT n.nspname as "Schema",
  p.proname as "Name",
  pg_catalog.pg_get_function_result(p.oid) as "Result data type",
  pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types",
 CASE
  WHEN p.proisagg THEN 'agg'
  WHEN p.proiswindow THEN 'window'
  WHEN p.prorettype = 'pg_catalog.trigger'::pg_catalog.regtype THEN 'trigger'
  ELSE 'normal'
 END as "Type"
FROM pg_catalog.pg_proc p
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE pg_catalog.pg_function_is_visible(p.oid)
      AND n.nspname <> 'pg_catalog'
      AND n.nspname <> 'information_schema'
ORDER BY 1, 2, 4;