PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

jsonb vs jsonb[] dla wielu adresów dla klienta

Użyj kolumny jsonb (nie jsonb[]!) o takiej strukturze:

select
'[{
        "adresse_line-1": "a11",
        "adresse_line-2": "a12",
        "postalcode": "code1"
    },
    {
        "adresse_line-1": "a21",
        "adresse_line-2": "a22",
        "postalcode": "code2"
    }
]'::jsonb;

Jednak lepszym rozwiązaniem jest zwykły stół powiązany z głównym.

Dlaczego nie jsonb[]? Spójrz na definicję JSON:

JSON jest zbudowany na dwóch strukturach:

  • Zbiór par nazwa/wartość. W różnych językach jest to realizowane jako obiekt, rekord, struktura, słownik, tablica mieszająca, lista kluczy lub tablica asocjacyjna.
  • Uporządkowana lista wartości. W większości języków jest to realizowane jako tablica , wektor, lista lub sekwencja.

W kolumnie jsonb możesz zatem przechowywać tablicę obiektów. Próby użycia tablicy jsonb są prawdopodobnie spowodowane niezrozumieniem tego typu danych. Nigdy nie widziałem rozsądnej potrzeby takiego rozwiązania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL zwraca zestaw wyników jako tablicę JSON?

  2. Jak zbiorczo zaktualizować identyfikator sekwencji postgreSQL dla wszystkich tabel?

  3. Oracle do PostgreSQL:ROZPOCZNIJ OD/POŁĄCZ PRZEZ

  4. Zaktualizuj swoje hasło do PostgreSQL w systemie Linux

  5. Przekierowanie wstawiania oparte na wyzwalaczu Postgres bez przerywania RETURNING