sql >> データベース >  >> RDS >> PostgreSQL

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と同じです データ型ですが、JSON検証を使用します。 text データ型の最大サイズは1GBです。



    1. HTML5とCSS3のブログを開始

    2. SQLWHERE複数の条件

    3. SQL ServerのNEWID()とNEWSEQUENTIALID():違いは何ですか?

    4. スキーマスナップショットを使用したデータベースの複数のバージョンの作成と展開