[pgsql-jp: 40308] 9.0 Beta の機能でレプリケーション以外では何がお気に入り?

Tomoaki Sato sato @ sraoss.co.jp
2010年 7月 1日 (木) 21:30:56 JST


佐藤です。

PostgreSQL の開発元の Web サイトでは、現在、開発中のバージョン 9.0 の
機能で *レプリケーション* 以外では何がお気に入り?、というアンケートが
行われています。

以下の URL にアクセスすると右側に表示されています。

  http://www.postgresql.org/community/

アンケートの内容は以下のとおりです。

| User Survey
|   What is your favorite non-replication feature of 9.0 Beta?

9.0 と言えば、ホットスタンバイとストリーミングレプリケーションが大注目
なので、敢えてレプリケーション以外でと言っているのは察しますね。

|   - Conditional/Column Triggers

これは、指定した列に対して更新した場合や指定した条件に一致する場合のみ
にトリガ関数を実行する機能のことです。

これまでのバージョンでは指定したテーブルに対して INSERT や UPDATE、
DELETE などのイベントが発生した場合にトリガ関数を実行するとしか指定でき
ませんでしたが、9.0 ではより詳細にトリガ関数を実行する条件を指定できる
ようになります。

|   - DO() anonymous code blocks

これは、関数を作成せずにインラインで PL/pgSQL などの手続き言語を実行で
きる機能のことです。

これまでのバージョンでは、SQL でちょっと凝ったことをしようと思うと、一
時的に関数を定義したり、シェルスクリプトで記述したりする必要がありまし
たが、DO を使用すれば SQL のみで簡潔にループなどの制御構造を記述できる
ようになります。

|   - New permissions commands (GRANT ON ALL etc.)

これは、スキーマに含まれるすべてのデータベースオブジェクトに一括してア
クセス権限を設定したり、新規に作成されるデータベースオブジェクトのデフォ
ルトのアクセス権限を設定したりする機能のことです。

これまでのバージョンでは、データベースオブジェクトごとに設定する必要の
あったアクセス権限をまとめて設定できて便利です。

|   - XML/JSON/YAML Explain plans

これは、EXPLAIN で出力される実行計画の書式に XML、JSON、YAML を選択で
きる機能のことです。

一般的なユーザにはあまり関係ありませんが、実行計画を視覚化するようなツー
ルを開発しているユーザには便利かもしれません。

|   - High-performance LISTEN/NOTIFY events

LISTEN / NOTIFY で送受信されるイベントをメモリ内で管理するようになった
ので性能が向上したということです。

|   - Improved PL/Perl and PL/Python

PL/Perl と PL/Python の機能をいろいろ拡張したということです。

|   - Exclusion Constraints for temporal and array data

排他制約と呼ばれる PostgreSQL 独自の制約を定義できるようになったという
ことです。

一意性制約は指定した列の値が重複する行がなことを保証するものですが、排
他制約では、一意性制約を拡張して指定した演算子を満足する行が重複しない
ことを保証する制約です。

|   - Some feature not mentioned above

上記の機能以外がお気に入りということです。

9.0 の機能については Let's Postgres により詳細な説明が掲載されているの
で、そちらを参照していただいたほうが分かりやすいと思います。

  http://lets.postgresql.jp/documents/technical/9.0/1

個人的には、レプリケーションは言うまでもなく DO と GRANT ON ALL が痒い
ところに手が届いてうれしいです。皆さんは 9.0 の機能で何がお気に入りで
すか。


----
佐藤 友章 <sato @ sraoss.co.jp>
SRA OSS, Inc. 日本支社
PostgreSQL トレーニング: http://www.sraoss.co.jp/prod_serv/training/
PowerGres ファミリー: http://powergres.sraoss.co.jp/


pgsql-jp メーリングリストの案内