Nasıl yeni PostgreSQL JSON veri türü içinde kullanma alanları sorgu?
PostgreSQL 9.2 yeni JSON fonksiyonları için belgeler ve/veya örnek arıyorum.
Özellikle, JSON kayıtları bir dizi verilir
[
{name: "Toby", occupation: "Software Engineer"},
{name: "Zaphod", occupation: "Galactic President"}
]
Nasıl isimde bir kayıt bulmak için SQL yazmak mı?
İçinde vanilya SQL:
SELECT * from json_data WHERE "name" = "Toby"
Resmi dev elle oldukça seyrek:
- http://www.postgresql.org/docs/devel/static/datatype-json.html
- http://www.postgresql.org/docs/devel/static/functions-json.html
Ben Güncelleştirin
gist detailing what is currently possible with PostgreSQL 9.2bir araya koydum. Bazı özel fonksiyonları kullanarak, mümkün olan şeyleri sever.
SELECT id, json_string(data,'name') FROM things
WHERE json_string(data,'name') LIKE 'G%';
Güncelleme II
Şimdi kendi projesi içine JSON fonksiyonlarımı taşındım:
PostSQL PostgreSQL ve PL muhteşem JSON belge deposuna/v8 dönüşüm için fonksiyonları bir dizi
CEVAP
PostgreSQL 9.2
Andrew Dunstan on the pgsql-hackers list alıntı yapıyorum:
Bir noktada muhtemelen bazı json-işleme karşı olacak json üreten) işlevleri, ama 9.2.
Sorununuzu çözmek gerektiğini example implementation in PLV8 söylemesini engellemek değil.
PostgreSQL 9.3
Yeni fonksiyonlar ve operatörler bir cephanelik için vardır "json işleme".
- The manual on new JSON functionality.
- The Postgres Wiki on new features in pg 9.3.
- @a comments below 21 *bir bağlantı yayınlanmıştır.
Bu cevabıorijinal soru9.3 İsim:
SELECT *
FROM json_array_elements(
'[{"name": "Toby", "occupation": "Software Engineer"},
{"name": "Zaphod", "occupation": "Galactic President"} ]'
) AS elem
WHERE elem->>'name' = 'Toby';
Gelişmiş örneği:
Büyük tablolar için ifade bir dizin performansını artırmak için eklemek isteyebilirsiniz:
PostgreSQL 9.4
Eklerjsonb
("ikili", değerler yerli İsim olarak saklanır türleri) ve henüz fazla işlevsellik için . b ^em>her ikisi detürleri. İfade için ek dizinler yukarıda, jsonb
da bunların en güçlüsü GIN, btree and hash indexes CİN destekler.
Manuel olarak çok düşündüren olduğu gibi
Genel olarakçoğu uygulama JSON veri olarak saklamak için tercih etmelisiniz
jsonb
oldukça özel ihtiyaçları , mirası gibi olmadığı sürece nesne anahtarları sipariş hakkında varsayımlar.
Bold vurgu benim.
Nasıl yeni PostgreSQL JSON veri türü i...
Nasıl bir PostgreSQL '' sorg...
Nasıl JSON içinde yeni satır yapmalıyı...
Nasıl tarih sadece SQL Server datetime...
Nasıl terminalden Curl ile JSON veri g...