2013年9月19日木曜日

PostgreSQL の TOAST の仕組みと効果

こんにちは。渡辺です。

今回は、PostgreSQL の TOAST の仕組みについて紹介します。

PostgreSQL7.1 までは、タプル(フィールド)の大きさがブロックサイズ(デフォルト 8KB、最大 64KB。コンパイル時に指定)に制限されていました。

PostgreSQL7.2 以降は TOAST(The Oversized-Attribute Storage Technique)と呼ばれる仕組みが導入され、最大 1GB のタプルが利用できるようになりました。今回は TOAST の仕組みと効果について検証してみます。

2013年9月3日火曜日

PostgreSQL9.3 の新機能 ~JSON 編~

こんにちは。渡辺です。

前回は、PostgreSQL の新機能のうちビューについて解説しました。今回は JSON サポートの新機能について解説します。

■JSON サポート

RFC4627 に準拠した JSON サポートは PostgreSQL9.2 から追加されました。

http://www.postgresql.org/docs/9.2/static/datatype-json.html

JSON 型のカラムに保存されるデータは、JSON 形式として妥当であるかバリデーションされます。TEXT 型カラムに保存した場合、正しい JSON データが保存される保証はありませんでしたが、PostgreSQL9.2 の JSON 型を使用すると確実に正しい JSON データが保存できるようになりました。

JSON は、UTF-8 のみサポートするので他の文字エンコーディングは使えませんが、\uXXXX 形式の文字表記ができます。この標記を使えば、どのデータベースの文字エンコーディングでも利用できます。