简述
postgresql在9.4版本之后引入了对json字符串类型的支持,这一特性使得关系型数据库也具有了非关系型数据库易于扩展字段的特点。
postgresql中包含了两种json数据类型json类型,以及jsonb类型。两种类型的主要区别在于,json类型会保存输入内容的一个副本,在之后使用处理时会重新进行解析,而jsonb类型会将输入内容转化为二进制文件进行保存,使用时也就无需进行解析。总而言之,json类型具有存储快,访问慢的特点;jsonb类型具有存储慢,访问快的特点。此外,jsonb类型还支持索引。
通用操作符
上图为json,jsonb类型的通用操作符,也是平常使用频率最高的。
->:用来获取json的值,操作符右边为int类型时,根据索引获取值;当右边为text类型时,根据key获取value。
->>:类似->操作符,将去除的值转化为text类型。
#>>:根据json的路径来获取值。
jsonb专用操作符
9.4版本的postgresql下的jsonb专用操作符:
@>