同期レプリケーションなど多数の新機能を搭載したPostgreSQL 9.1リリース

 The PostgresSQL Global Development Groupは9月12日、「PostgreSQL 9.1」をリリースした。同期レプリケーション対応や外部データ連携の強化、各種性能強化など、多くの新機能追加や機能改善が行われている。

 2010年9月に公開されたバージョン9.0以来、約1年ぶりのアップデートとなる。同期レプリケーション、ログをとらないテーブル(UNLOGGED TABLE)などが新機能となる。

 同期レプリケーションは、9.0で加わったストリーミングレプリケーションに新たに追加された機能。「同期モード」に設定することで利用できる。マスターサーバーが1台以上のスレーブに対し、トランザクションログの書き込み完了を保証するもので、データ損失のリスクを大きく軽減できる。トランザクション単位で設定が可能なため、応答時間の長さと安全性とのバランスを調節できるという。

 また、テーブルタイプとして「UNLOGGED TABLE」が追加された。UNLOGGEDに指定されたテーブルはトランザクションログを記録しないため、I/Oオーバーヘッドが減り、処理速度が10倍高速になるという。信頼性よりも速度を重視するWebセッションデータ、リアルタイムログ処理などに適しているという。このほか、列単位のコレーション(照合順序)機能も新機能となる。

 PostgreSQLから外部データベースに接続してデータを問い合わせる外部データラッパ機能や、拡張モジュールをパッケージ単位で管理する機構も容易されている。

 これらに加え、共通テーブル式でSQLステートメントを作成するwCTEが加わった。さまざまなテーブルを参照するINSERT/UPDATE/DELETEコマンドを単一の文に組み合わせることができ、再帰的、階層的に更新を行える。セキュリティも強化し、SELinuxの強制アクセス制御にも対応。軍用レベルのセキュリティを実装できるという。このほか、多数の機能強化が行われている。

 PostgreSQL 9.1は、FreeBSD、Linux、Mac OS X、Solaris、Windowsなどに対応、プロジェクトのWebサイトより入手できる。

PostgreSQL
http://www.postgresql.org/