postgresqlの9.4あたりからjsonをカラムの型に指定してよろしくやってくれる仕組みが導入されたので試してみた。
動作環境はUbuntu12を使ったが、リポジトリを追加しないと9.4を落とせないので注意。(普通にapt-getすると9.2が入ります。)
まずはjson型のカラムを持つテーブルを作る。
create table test_table ( data json );
全く味気ないテーブルだけれども気にしない。
次にjson型のデータを挿入する。
insert into test_table(data) velues ('{"name":"piruty", "age":10}');
ここからkeyを指定して取得できる。
select data->>'name' as name, data->>'age' as age from test_table; name | age ------------ piruty | 10
こんなかんじで取ってこれる。ポスグレすごい!!