SORU
12 Mayıs 2012, CUMARTESİ


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:

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
12 Mayıs 2012, CUMARTESİ


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".

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 jsonboldukça özel ihtiyaçları , mirası gibi olmadığı sürece nesne anahtarları sipariş hakkında varsayımlar.

Bold vurgu benim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • xCraash

    xCraash

    6 Temmuz 2012