次のような構造の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は2つの構造に基づいて構築されています:
- 名前と値のペアのコレクション。さまざまな言語で、これはオブジェクト、レコード、構造体、辞書、ハッシュテーブル、キー付きリスト、または連想配列として実現されます。
- 値の順序付きリスト。ほとんどの言語では、これは配列として実現されます。 、ベクトル、リスト、またはシーケンス。
したがって、jsonb列には、オブジェクトの配列を格納できます。 jsonbの配列を使用しようとする試みは、おそらくこのタイプのデータの誤解によるものです。私はそのような解決策の合理的な必要性を見たことがありません。