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