pg支持json数据操作,2种类型json jsonb
postgresql json jsonb 2种数据类型区别 中文解释
PostgreSQL提供了两种数据类型来存储JSON数据:JSON
和JSONB
。下面是它们之间的区别:
-
JSON:
JSON
数据类型在PostgreSQL中将JSON数据按原样存储,不进行额外的处理。它会验证JSON语法,但不强制执行任何结构或索引。JSON数据以二进制格式存储,相比纯文本存储更紧凑。然而,对JSON数据的查询和索引操作可能比JSONB
数据类型慢。 -
JSONB:
JSONB
数据类型代表"JSON二进制"。它以二进制格式存储JSON数据,但在存储过程中还会对数据进行额外的处理。当你将JSON数据插入到JSONB
列中时,PostgreSQL会解析并重新编写JSON文档,创建一个优化的二进制表示。这种二进制格式允许对JSON数据进行高效的索引和查询。JSONB
列支持PostgreSQL中的所有索引技术,如B树、哈希索引和广义反向索引(GIN)。
简而言之,在PostgreSQL中,JSON
和JSONB
的主要区别是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;文章来源:https://www.toymoban.com/news/detail-557954.html
SELECT jsonb_each_text(data) AS data_value
FROM tbl_area_json;文章来源地址https://www.toymoban.com/news/detail-557954.html
到了这里,关于postgresql json数据操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!