PostgreSQL 9.3支持了Json数据类型操作,例如:
postgres=# CREATE TABLE aa (a int, b json);
CREATE TABLE
postgres=# INSERT INTO aa VALUES (1, '{"f1":1,"f2":true,"f3":"Hi I''m \"Daisy\""}');
INSERT 0 1
postgres=# INSERT INTO aa VALUES (2, '{"f1":{"f11":11,"f12":12},"f2":2}');
INSERT 0 1
postgres=# INSERT INTO aa VALUES (3, '{"f1":[1,"Robert \"M\"",true],"f2":[2,"Kevin \"K\"",false]}');
INSERT 0 1
从 JSON 数据库获取字段值
postgres=# SELECT b->'f1' AS f1, b->'f3' AS f3 FROM aa WHERE a = 1;
f1 | f3
----+--------------------
1 | "Hi I'm \"Daisy\""
(1 row)
Greenplum目前是否支持这种Json数据类型操作?不是简单的用大文本把Json格式存储进数据库中哦。
Greenplum的内核目前是基于PostgreSQL8版本,目前还暂时不能支持到Postgresql 9.3的新特性。
GITHUB 上存在这么一个项目:greenplum-json-formatter 可以供参考。