PostgreSQL 9.2中的json存储表示和检索

其解决方案就是使用hstore类型,使用它,先得创建对应的扩展。

    
下面只列出简单的使用示例:
 
iihero=# create extension hstore;
CREATE EXTENSION
iihero=#
iihero=# select 'a=>1,b=>2'::hstore;
  hstore
--------------------
 "a"=>"1", "b"=>"2"
(1 row)
 
iihero=# insert into tjson values(1, 'a=>1, b=>2, c=>3'::hstore);
INSERT 0 1
iihero=# insert into tjson values(2, 'a=>2, b=>3, c=>4'::hstore);
INSERT 0 1
iihero=# select * from tjson where col2 @>'a=>1';
 id | col2
----+------------------------------
  1 | "a"=>"1", "b"=>"2", "c"=>"3"
(1 row)
 
iihero=# select * from tjson where col2 @>'a=>1' and col2 @>'b=>2';
 id | col2
----+------------------------------
  1 | "a"=>"1", "b"=>"2", "c"=>"3"
(1 row)
 
所不同的,只是语法表现形式的不同。还可以充分利用索引。
原文地址:https://www.cnblogs.com/neights/p/2969335.html