json

json

json データ型は、入力テキストの正確なコピーを保管します。このコピーは、実行ごとに再解析する必要があります。 そのため、json では、トークン間の意味的に重要でない空白および JSON オブジェクト内のキーの順序が保持されます。

値内の JSON オブジェクトに同じキーが複数含まれている場合は、すべてのキーと値のペアが保持されます。 (処理機能では、最後の値を有効な値と見なします。)

json データ型は、JSON データの保管に使用できます。 このようなデータはテキストとして保管することもできますが、json データ型には、保管された各値が有効な JSON 値であることを検査するという利点があります。

RFC 7159 は、'JSON文字列が '\uXXXX で示される Unicode エスケープシーケンスを含むことを許可しています。 json 型の入力関数では、Unicode エスケープはデータベース・エンコードに関係なく許可され、構文の正しさのみが検査されます (4 桁の 16 進数は ¥u の後に配置される必要があります)。

1 つの表で許可される json 列は 1 つのみです。 さらに、JSONデータ型と一緒に収容できる固定または可変サイズのカラムの数は限られている(およそ合計1500バイト)ことに注意。
SYSTEM.ADMIN(ADMIN)=> create table testjson1(c1 json, c2 varchar(1500));
CREATE TABLE
 

SYSTEM.ADMIN(ADMIN)=> create table testjson2(c1 json, c2 varchar(1800));
ERROR:  Table 'TESTJSON2' record size 65800 exceeds internal limit of 65535 bytes