pg_aggregate
#
The catalog <structname>pg_aggregate</structname> stores information about
aggregate functions. An aggregate function is a function that
operates on a set of values (typically one column from each row
that matches a query condition) and returns a single value computed
from all these values. Typical aggregate functions are
<function>sum</function>, <function>count</function>, and
<function>max</function>. Each entry in
<structname>pg_aggregate</structname> is an extension of an entry
in <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.
The <structname>pg_proc</structname> entry carries the aggregate's name,
input and output data types, and other information that is similar to
ordinary functions.
pg_aggregate
カタログには集約関数の情報が格納されています。
集約関数とは、値の集合(多くの場合は問い合わせ条件に該当する各行の1つの列)にある操作を行い、それらすべての値の演算の結果得られる単一の値を返します。
集約関数の代表的なものはsum
、count
そしてmax
です。
pg_aggregate
内の各項目は、pg_proc
内の項目の拡張です。
pg_proc
の項目には、集約の名前、入出力データ型および通常の関数と類似したその他の情報が含まれます。
表51.2 pg_aggregate
の列
Column Type 列 型 Description 説明 |
---|
<structname>pg_proc</structname> OID of the aggregate function
|
Aggregate kind:
<literal>n</literal> for <quote>normal</quote> aggregates,
<literal>o</literal> for <quote>ordered-set</quote> aggregates, or
<literal>h</literal> for <quote>hypothetical-set</quote> aggregates
集約関数の種類:
|
Number of direct (non-aggregated) arguments of an ordered-set or
hypothetical-set aggregate, counting a variadic array as one argument.
If equal to <structfield>pronargs</structfield>, the aggregate must be variadic
and the variadic array describes the aggregated arguments as well as
the final direct arguments.
Always zero for normal aggregates.
順序集合や仮想集合の集約関数では、(集約されていない)複数の引数は、可変長配列として1個の引数と見なします。
引数が数が |
Transition function 遷移関数 |
Final function (zero if none) 最終関数(ない時はゼロ) |
Combine function (zero if none) 結合関数(ない時はゼロ) |
Serialization function (zero if none) 直列化関数(ない時はゼロ) |
Deserialization function (zero if none) 逆直列化関数(ない時はゼロ) |
Forward transition function for moving-aggregate mode (zero if none) 移動集約モードの順方向遷移関数(ない時はゼロ) |
Inverse transition function for moving-aggregate mode (zero if none) 移動集約モードの逆遷移関数(ない時はゼロ) |
Final function for moving-aggregate mode (zero if none) 移動集約モードの最終関数(ない時はゼロ) |
True to pass extra dummy arguments to <structfield>aggfinalfn</structfield>
|
True to pass extra dummy arguments to <structfield>aggmfinalfn</structfield>
|
Whether <structfield>aggfinalfn</structfield> modifies the
transition state value:
<literal>r</literal> if it is read-only,
<literal>s</literal> if the <structfield>aggtransfn</structfield>
cannot be applied after the <structfield>aggfinalfn</structfield>, or
<literal>w</literal> if it writes on the value
|
Like <structfield>aggfinalmodify</structfield>, but for
the <structfield>aggmfinalfn</structfield>
|
Associated sort operator (zero if none) 関連するソート演算子(ない時はゼロ) |
Data type of the aggregate function's internal transition (state) data 集約関数の内部遷移(状態)データのデータ型 |
Approximate average size (in bytes) of the transition state data, or zero to use a default estimate 遷移状態データの推定平均サイズ(バイト)、またはデフォルトの推定値であるゼロ |
Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none) 移動集約モードの、集約関数の内部遷移(状態)データのデータ型(ない時はゼロ) |
Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate 移動集約モードの、遷移状態データの推定平均サイズ(バイト)、またはデフォルトの推定値であるゼロ |
The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null. 遷移状態の初期値。 外部文字列表現での初期値を含んだテキストフィールド。 フィールドがNULL値の場合、推移状態はNULL値で始まります。 |
The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null. 移動集約モードの、遷移状態の初期値。外部に文字列表記された初期値を含むテキストフィールド。 このフィールドがNULLの場合、遷移状態の値はNULLから始まります。 |
New aggregate functions are registered with the <link
linkend="sql-createaggregate"><command>CREATE AGGREGATE</command></link>
command. See <xref linkend="xaggr"/> for more information about
writing aggregate functions and the meaning of the transition
functions, etc.
新しい集約関数はCREATE AGGREGATE
コマンドで登録されます。
集約関数の書き方や遷移関数の説明などの詳細は36.12を参照してください。