我可以用新的 json 字段做什么?

Jon*_*ton 8 postgresql postgresql-9.2 postgresql-9.3 json

PostgreSQL 9.2 引入了json字段类型。为什么以及何时应该使用它?它比文本字段有什么好处?

我以为有新的查询选项可用,但我没有看到任何选项。我错过了什么吗?

Erw*_*ter 7

Postgres 9.2

新功能的好处是双重的。类型的json列验证其内容的有效性,以便列中的内容自动成为有效的 JSON,如果您尝试向其中写入任何其他内容,则会出现错误。
并且您拥有从行或数组动态创建有效 JSON 的基本功能——这是一个非常常见的用例。

在 pgsql-hackers 列表中引用了Andrew Dunstan

在某个阶段可能会有一些 json 处理(而不是 json 生成)函数,但在 9.2 中没有。

我之前在SO 上的这个相关问题下使用了该引用。

Postgres 9.3

.. 终于带来了一些函数和操作符。查看JSON 函数手册页

SO的相关答案:

@Will 会发表博文。请参阅下面的评论。

Postgres 9.4

请务必查看具有许多新功能的新jsonb类型

最重要的是,分解后的二进制存储允许在磁盘上进行更小的存储,并允许使用jsonb(unlike json)的相等运算符,这使得许多额外的操作成为可能(如DISTINCTUNIQUE索引)。

json和都添加了更多功能jsonbjson_to_record()json_to_recordset()更多的发行说明。