postgresql json数据操作

pg支持json数据操作,2种类型json jsonb

postgresql json jsonb 2种数据类型区别 中文解释

PostgreSQL提供了两种数据类型来存储JSON数据:JSONJSONB。下面是它们之间的区别:

  1. JSON:JSON数据类型在PostgreSQL中将JSON数据按原样存储,不进行额外的处理。它会验证JSON语法,但不强制执行任何结构或索引。JSON数据以二进制格式存储,相比纯文本存储更紧凑。然而,对JSON数据的查询和索引操作可能比JSONB数据类型慢。

  2. JSONB:JSONB数据类型代表"JSON二进制"。它以二进制格式存储JSON数据,但在存储过程中还会对数据进行额外的处理。当你将JSON数据插入到JSONB列中时,PostgreSQL会解析并重新编写JSON文档,创建一个优化的二进制表示。这种二进制格式允许对JSON数据进行高效的索引和查询。JSONB列支持PostgreSQL中的所有索引技术,如B树、哈希索引和广义反向索引(GIN)。

简而言之,在PostgreSQL中,JSONJSONB的主要区别是JSON按原样存储JSON数据而不进行额外处理,而JSONB在存储过程中对数据进行额外处理以创建优化的二进制表示。这使得JSONB更适合对JSON数据进行高效的查询和索引。然而,如果您不需要高级查询功能或索引,并且希望将JSON数据存储为纯文本,您可以使用JSON数据类型。

常见SQL操作

SELECT  id,data->>'Code',data->>'state' FROM tbl_license_json;


SELECT jsonb_object_keys(data) AS field
FROM tbl_ship_json where id = 4250;

SELECT jsonb_each_text(data) AS data_value
FROM tbl_area_json;

你可能感兴趣的:(postgresql,json,数据库)