json 字段的大小限制为 1GB(来源:此 StackOverflow 答案):
json与数据类型相同text,但具有 JSON 验证。数据text类型的最大大小为 1GB。
我进行了一些实验,将json不同大小的数据插入到 Postgres 的表中。这里的行pg_sizeof似乎表明 Postgres 对 json 数据进行了压缩。
我的实验:
create table json_size (n integer, j json);
Run Code Online (Sandbox Code Playgroud)
值为n1、10、100、1000、10 000、100 000、1 000 000。
with q as (select generate_series(1, n)::bigint as x)
insert into json_size (n, j)
select 1, coalesce(json_agg(to_json(q.*)), '[]'::json) from q;
Run Code Online (Sandbox Code Playgroud)
select n, pg_column_size(j) as size from json_size;
Run Code Online (Sandbox Code Playgroud)
结果
n size
1 10
10 92
100 996
1000 3224
10000 33488
100000 335115
1000000 3351365
Run Code Online (Sandbox Code Playgroud)
压缩之前或之后是否有 1GB 的大小限制?
| 归档时间: |
|
| 查看次数: |
14421 次 |
| 最近记录: |