Použijte sloupec jsonb (nikoli jsonb[]!) se strukturou takto:
select
'[{
"adresse_line-1": "a11",
"adresse_line-2": "a12",
"postalcode": "code1"
},
{
"adresse_line-1": "a21",
"adresse_line-2": "a22",
"postalcode": "code2"
}
]'::jsonb;
Lepší možností je však běžná tabulka související s hlavní.
Proč ne jsonb[]? Podívejte se na definici JSON:
JSON je postaven na dvou strukturách:
- Sbírka párů název/hodnota. V různých jazycích je to realizováno jako objekt, záznam, struktura, slovník, hashovací tabulka, klíčovaný seznam nebo asociativní pole.
- Seřazený seznam hodnot. Ve většině jazyků je to realizováno jako pole , vektor, seznam nebo sekvence.
Ve sloupci jsonb tedy můžete uložit pole objektů. Pokusy o použití pole jsonb jsou pravděpodobně způsobeny nepochopením tohoto typu dat. Nikdy jsem neviděl rozumnou potřebu takového řešení.