PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

jsonb срещу jsonb[] за множество адреси за клиент

Използвайте колона jsonb (не jsonb[]!) със структура като тази:

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

Въпреки това, обикновената маса, свързана с основната, е по-добър вариант.

Защо не jsonb[]? Разгледайте дефиницията на JSON:

JSON е изграден върху две структури:

  • Колекция от двойки име/стойност. На различни езици това се реализира като обект, запис, структура, речник, хеш таблица, списък с ключове или асоциативен масив.
  • Подреден списък със стойности. В повечето езици това се реализира като масив , вектор, списък или последователност.

Следователно в колона jsonb можете да съхранявате масив от обекти. Опитите за използване на масива от jsonb вероятно се дължат на неразбиране на този тип данни. Никога не съм виждал разумна нужда от такова решение.




  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 9.0?

  2. PostgreSQL:проблеми с кодирането на Windows при използване на помощната програма за команден ред psql

  3. PostgreSQL Където условие за броене

  4. Връзката, предадена на # или трябва да е структурно съвместима. Несъвместими стойности:[:references]

  5. PostgreSQL агент в SQL Standard комитет отново