PostgreSQL连接表到键值存储(如Kyoto Cabinet)

时间:2012-08-15 18:57:26

标签: ruby postgresql nosql kyotocabinet

我不确定这是什么类型的问题。

京都内阁支持哪些导入格式?

例如,我在PostgreSQL数据库中有一个联结表t,多对多关系。 t的大小约为2.85亿。

t =
X, Y
-----
1, a
1, b
2, a
2, c
3, c
3, d
4, b
4, e

最简单,最快捷的出口方式是什么,然后进口到京都内阁等一些键值商店?

所以我最终得到:

db = 
db[1] = [a,b]
db[2] = [a,c]
db[3] = [c,d]
db[4] = [b,e]

我的首选语言是Ruby。

1 个答案:

答案 0 :(得分:2)

获取值:

SELECT x, array_agg(y ORDER BY y)
FROM   t
GROUP  BY x;

产生array。如果您希望text使用string_agg(y, ',' ORDER BY y) 可能更快:

SELECT x, array_agg(y)
FROM  (SELECT * FROM t ORDER BY x,y) t
GROUP  BY x;