52.2. pg_aggregate
РкаÑалоге pg_aggregate Ñ
ÑаниÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± агÑегаÑнÑÑ
ÑÑнкÑиÑÑ
. ÐгÑегаÑÐ½Ð°Ñ ÑÑнкÑÐ¸Ñ â ÑÑо ÑÐ°ÐºÐ°Ñ ÑÑнкÑиÑ, коÑоÑÐ°Ñ ÑабоÑÐ°ÐµÑ Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвом знаÑений (обÑÑно, Ñ ÑодеÑжимÑм одного ÑÑолбÑа вÑеÑ
ÑÑÑок, ÑдовлеÑвоÑÑÑÑиÑ
ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð·Ð°Ð¿ÑоÑа) и возвÑаÑÐ°ÐµÑ Ð¾Ð´Ð½Ð¾ знаÑение, вÑÑиÑленное по ÑÑÐ¾Ð¼Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвÑ. ТипиÑнÑе агÑегаÑнÑе ÑÑнкÑии â sum, count и max. ÐÑе запиÑи в pg_aggregate пÑедÑÑавлÑÑÑ Ñобой дополнение запиÑей в pg_proc. ÐапиÑÑ Ð² pg_proc опÑеделÑÐµÑ Ð¸Ð¼Ñ Ð°Ð³ÑегаÑной ÑÑнкÑии, ÑÐ¸Ð¿Ñ Ð²Ñ
однÑÑ
и вÑÑ
однÑÑ
даннÑÑ
, а Ñакже дÑÑгие ÑвойÑÑва, подобнÑе имеÑÑимÑÑ Ñ Ð¾Ð±ÑÑнÑÑ
ÑÑнкÑий.
ТаблиÑа 52.2. СÑолбÑÑ pg_aggregate
Тип ÑÑолбÑа ÐпиÑание |
|---|
OID агÑегаÑной ÑÑнкÑии в |
Тип агÑегаÑной ÑÑнкÑии: |
ЧиÑло непоÑÑедÑÑвеннÑÑ
(не агÑегиÑÑемÑÑ
) аÑгÑменÑов Ð´Ð»Ñ ÑоÑÑиÑÑÑÑей или гипоÑезиÑÑÑÑей агÑегаÑной ÑÑнкÑии (пеÑеменнÑй маÑÑив аÑгÑменÑов ÑÑиÑаеÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ аÑгÑменÑом). ÐÑли ÑавнÑеÑÑÑ |
ФÑнкÑÐ¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° |
ФÑнкÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ÐомбиниÑÑÑÑÐ°Ñ ÑÑнкÑÐ¸Ñ (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ФÑнкÑÐ¸Ñ ÑеÑиализаÑии (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ФÑнкÑÐ¸Ñ Ð´ÐµÑеÑиализаÑии (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ФÑнкÑÐ¸Ñ Ð¿ÑÑмого пеÑÐµÑ Ð¾Ð´Ð° Ð´Ð»Ñ Ñежима движÑÑегоÑÑ Ð°Ð³ÑегаÑа (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ФÑнкÑÐ¸Ñ Ð¾Ð±ÑаÑного пеÑÐµÑ Ð¾Ð´Ð° Ð´Ð»Ñ Ñежима движÑÑегоÑÑ Ð°Ð³ÑегаÑа (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
ФÑнкÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñежима движÑÑегоÑÑ Ð°Ð³ÑегаÑа (нолÑ, еÑли ÐµÑ Ð½ÐµÑ) |
Со знаÑением True в |
Со знаÑением True в |
ÐÑизнак модиÑиÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑеÑ
одного ÑоÑÑоÑÐ½Ð¸Ñ ÑÑнкÑией |
ÐналогиÑно |
СвÑзаннÑй опеÑаÑÐ¾Ñ ÑоÑÑиÑовки (нолÑ, еÑли его неÑ) |
Тип даннÑÑ Ð²Ð½ÑÑÑеннего ÑоÑÑоÑÐ½Ð¸Ñ (пеÑÐµÑ Ð¾Ð´Ð°) агÑегаÑной ÑÑнкÑии |
ÐÑиблизиÑелÑнÑй ÑÑедний ÑÐ°Ð·Ð¼ÐµÑ (в байÑÐ°Ñ ) даннÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð°, либо Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð²ÑбоÑа знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ |
Тип даннÑÑ Ð²Ð½ÑÑÑеннего ÑоÑÑоÑÐ½Ð¸Ñ (пеÑÐµÑ Ð¾Ð´Ð°) Ð´Ð»Ñ Ð°Ð³ÑегаÑной ÑÑнкÑии в Ñежиме движÑÑегоÑÑ Ð°Ð³ÑегаÑа (Ð½Ð¾Ð»Ñ Ð² ÑлÑÑае оÑÑÑÑÑÑвиÑ) |
ÐÑиблизиÑелÑнÑй ÑÑедний ÑÐ°Ð·Ð¼ÐµÑ (в байÑÐ°Ñ ) даннÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° Ð´Ð»Ñ Ñежима движÑÑегоÑÑ Ð°Ð³ÑегаÑа, либо Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð²ÑбоÑа знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ |
ÐаÑалÑное знаÑение Ð´Ð»Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð°. ÐÑо ÑекÑÑовое поле, ÑодеÑжаÑее знаÑение в виде внеÑнего ÑÑÑокового пÑедÑÑавлениÑ. ÐÑли ÑÑо поле ÑодеÑÐ¶Ð¸Ñ NULL, наÑалÑнÑм знаÑением ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° бÑÐ´ÐµÑ NULL. |
ÐаÑалÑное знаÑение Ð´Ð»Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° в Ñежиме движÑÑегоÑÑ Ð°Ð³ÑегаÑа. ÐÑо ÑекÑÑовое поле, ÑодеÑжаÑее знаÑение в виде внеÑнего ÑÑÑокового пÑедÑÑавлениÑ. ÐÑли ÑÑо поле ÑодеÑÐ¶Ð¸Ñ NULL, наÑалÑнÑм знаÑением ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° бÑÐ´ÐµÑ NULL. |
ÐовÑе агÑегаÑнÑе ÑÑнкÑии ÑоздаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ CREATE AGGREGATE. Ðа дополниÑелÑнÑми ÑведениÑми о ÑазÑабоÑке агÑегаÑнÑÑ
ÑÑнкÑий, знаÑении ÑÑнкÑий пеÑеÑ
ода и Ñ. д. обÑаÑиÑеÑÑ Ðº РазделÑ 37.12.