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