Где хранятся агрегатные функции postgresql? - PullRequest
0 голосов
/ 28 апреля 2018

Я создал агрегатную функцию и даже могу ее использовать. Но я не могу найти его ни в одной из иерархий БД. Это не под функциями.

Они скрыты от глаз? Я использую pgAdmin ide.

1 Ответ

0 голосов
/ 30 апреля 2018

Лучший способ найти такой запрос - использовать psql с параметром --echo-hidden. Затем запустите метакоманду 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...