json - PostgreSQL 中 JSON 数据类型的大小限制

有人知道 PostgreSQL 9.2 中 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);
}

因此,至少目前看来,jsontext 数据类型相同,但具有 JSON 验证。 text 数据类型的最大大小为 1GB .

https://stackoverflow.com/questions/12632871/

相关文章:

java - 如何使用 @ResponseBody 从 Spring Controller 返回 J

jquery - 使用 Highcharts 通过 JSON 重新加载图表数据

jquery - getJSON 到 console.log() 输出 json 结构

javascript - 在输入隐藏字段中存储返回 json 值

javascript - 将 JSON 字符串转换为 Javascript 数组

ruby-on-rails - 设计 API 身份验证

java - Gson:@Expose 与 @SerializedName

java - 确定 JSON 提要中是否存在值的更好方法

json - 使用 JSON 协议(protocol)处理版本控制的最佳方法是什么?

java - 在 JSON 对象中解析 JSON 数组