pg_aggregate には集約関数の情報が格納されています。集約関数とは、値の集合(多くの場合は問い合わせ条件に該当する各行の一つの列)にある操作を行い、その操作で得た 1 つの値を返します。集約関数の代表的なものは sum、count、そして max です。
Table 3-2. pg_aggregate の列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
aggname | name | 集約関数の名前 | |
aggowner | int4 | pg_shadow.usesysid | 集約関数の所有者(作成者) |
aggtransfn | regproc (function) | pg_proc.oid | 遷移関数 |
aggfinalfn | regproc (function) | pg_proc.oid | 最終関数 |
aggbasetype | oid | pg_type.oid | 集約関数にたいする入力データ型 |
aggtranstype | oid | pg_type.oid | 集約関数の内部遷移(状態)データの型 |
aggfinaltype | oid | pg_type.oid | 結果の型 |
agginitval | text | 遷移状態の初期値。内部文字列表現での初期値を持ったテキストフィールド。フィールドが NULL 値の場合、推移状態は NULL 値で始まる。 |
新しい集約関数は CREATE AGGREGATE コマンドを使って登録されます。集約関数の書き方や遷移関数の説明などの詳細は プログラマガイドを参照してください。
集約関数は名前と引数型によって識別されます。したがって、aggname と aggname は複合主キーとなります。