Postgresql
我可以用新的 json 欄位做什麼?
PostgreSQL 9.2 引入了
json
欄位類型。為什麼以及何時應該使用它?它對文本欄位有什麼好處?我認為有新的查詢選項可用,但是我沒有看到任何選項。我錯過了什麼嗎?
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
(unlikejson
) 提供相等運算符,這使得許多額外的操作(如DISTINCT
或UNIQUE
索引)成為可能。
json
還為和都添加了更多功能jsonb
。json_to_record()
等json_to_recordset()
。更多資訊在發行說明中。