51.2. pg_aggregate
В каталоге pg_aggregate
хранится информация об агрегатных функциях. Агрегатная функция — это такая функция, которая работает с множеством значений (обычно, с содержимым одного столбца всех строк, удовлетворяющих условию запроса) и возвращает одно значение, вычисленное по этому множеству. Типичные агрегатные функции — sum
, count
и max
. Все записи в pg_aggregate
представляют собой дополнение записей в pg_proc
. Запись в pg_proc
определяет имя агрегатной функции, типы входных и выходных данных, а также другие свойства, подобные имеющимся у обычных функций.
Таблица 51.2. Столбцы pg_aggregate
Тип столбца Описание |
---|
OID агрегатной функции в |
Тип агрегатной функции: |
Число непосредственных (не агрегируемых) аргументов для сортирующей или гипотезирующей агрегатной функции (переменный массив аргументов считается одним аргументом). Если равняется |
Функция перехода |
Функция завершения (ноль, если её нет) |
Комбинирующая функция (ноль, если её нет) |
Функция сериализации (ноль, если её нет) |
Функция десериализации (ноль, если её нет) |
Функция прямого перехода для режима движущегося агрегата (ноль, если её нет) |
Функция обратного перехода для режима движущегося агрегата (ноль, если её нет) |
Функция завершения для режима движущегося агрегата (ноль, если её нет) |
Со значением True в |
Со значением True в |
Признак модифицирования переходного состояния функцией |
Аналогично |
Связанный оператор сортировки (ноль, если его нет) |
Тип данных внутреннего состояния (перехода) агрегатной функции |
Приблизительный средний размер (в байтах) данных состояния перехода, либо ноль для выбора значения по умолчанию |
Тип данных внутреннего состояния (перехода) для агрегатной функции в режиме движущегося агрегата (ноль в случае отсутствия) |
Приблизительный средний размер (в байтах) данных состояния перехода для режима движущегося агрегата, либо ноль для выбора значения по умолчанию |
Начальное значение для состояния перехода. Это текстовое поле, содержащее значение в виде внешнего строкового представления. Если это поле содержит NULL, начальным значением состояния перехода будет NULL. |
Начальное значение для состояния перехода в режиме движущегося агрегата. Это текстовое поле, содержащее значение в виде внешнего строкового представления. Если это поле содержит NULL, начальным значением состояния перехода будет NULL. |
Новые агрегатные функции создаются командой CREATE AGGREGATE
. За дополнительными сведениями о разработке агрегатных функций, значении функций перехода и т. д. обратитесь к Разделу 37.12.