28
有誰知道PostgreSQL 9.2中JSON數據類型大小的限制是什麼?PostgreSQL中JSON數據類型的大小限制
有誰知道PostgreSQL 9.2中JSON數據類型大小的限制是什麼?PostgreSQL中JSON數據類型的大小限制
查看源對PostgreSQL 9.2.1:
Source: postgresql-9.2.1\src\backend\utils\adt\json.c:
/*
* Input.
*/
Datum
json_in(PG_FUNCTION_ARGS)
{
char *text = PG_GETARG_CSTRING(0);
json_validate_cstring(text);
/* Internal representation is the same as text, for now */
PG_RETURN_TEXT_P(cstring_to_text(text));
}
更新的PostgreSQL 9.3.5:
的代碼在json_in
功能發生了變化,但JSON內部表示仍是全文:
Source: postgresql-9.3.5\src\backend\utils\adt\json.c:
/*
* Input.
*/
Datum
json_in(PG_FUNCTION_ARGS)
{
char *json = PG_GETARG_CSTRING(0);
text *result = cstring_to_text(json);
JsonLexContext *lex;
/* validate it */
lex = makeJsonLexContext(result, false);
pg_parse_json(lex, &nullSemAction);
/* Internal representation is the same as text, for now */
PG_RETURN_TEXT_P(result);
}
這樣看來,至少在目前,json
是相同的數據類型text
但瓦特ith JSON驗證。 text
數據類型的最大大小爲1GB。
Postgres的'jsonb'數據類型是否使用純文本以外的東西? –
1GB!這很不錯。很高興這個數字不是MB。 – edencorbin