php で postgresql からデータを取り出して JSON に加工して返すとか、めんどくさいなぁと思って調べてみました。社員に、どうやって実装してたん?て聞いたら、データ取り出して加工してたという事でした。うんうん、やっぱそうだよなー、面倒くせぇwwwwて思ってたんですが、ラッキーな事に、version 9.2 から row_to_json という関数がサポートされたようです。
まずは、データ準備
create table hoge (id integer primary key, name text);
insert into hoge (id,name) values (1, 'fuga');
insert into hoge (id,name) values (2, 'moge');
ほんで、取り出し
select array_to_json( array_agg( row_to_json(foo) ) )
from (select id, name from hoge) foo;
結果
[{"id":1,"name":"fuga"},{"id":2,"name":"moge"}]
いやー、素晴らしいですね!
参考:
Faster JSON Generation with PostgreSQL
0 件のコメント:
コメントを投稿