Използвайте колона 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 вероятно се дължат на неразбиране на този тип данни. Никога не съм виждал разумна нужда от такова решение.