pg_aggregateには集約関数の情報が格納されています。 集約関数とは、いくつかの値(大方、問い合わせ条件に該当する各行のカラム)に ある操作を行い、その操作で得た1つの値を返します。集約関数の代表的なものは sumやcount、 maxなどです。
Table 3-2. pg_aggregate カラム
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
aggname | name | 集約関数名 | |
aggowner | int4 | pg_shadow.usesysid | 集約関数のオーナー(作成者) |
aggtransfn | regproc (function) | 遷移関数 | |
aggfinalfn | regproc (function) | 最終関数 | |
aggbasetype | oid | pg_type.oid | SQL文から呼ばれたときにこの関数が実行される型 |
aggtranstype | oid | pg_type.oid | 集約関数の内部遷移(状態)データの型 |
aggfinaltype | oid | pg_type.oid | 結果の型 |
agginitval | text | 遷移状態の初期値。これはテキストフィールドであり、aggtranstypeの型にキャストされます。 |
新しい集約関数はCREATE AGGREGATE コマンドを使って 登録されます。 集約関数を著述するための詳細や、遷移関数の詳細などはProgrammer's Guide をご覧下さい。
集約関数は名前と引数型によって識別されます。したがって、 aggname と aggnameが複合プライマリキーとなります。