json字段的大小限制为1GB (来源:这个StackOverflow的答案):
json与text数据类型相同,但具有JSON验证。text数据类型的最大大小为1GB。
我进行了一些实验,将不同大小的json插入到Postgres的表中。这里使用行的pg_sizeof似乎表明Postgres对json数据进行压缩。
我的实验:
create table json_size (n integer, j json);对于值为1,10,100,1000,10,000,100,1000的n。
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;select n, pg_column_size(j) as size from json_size;结果
n size
1 10
10 92
100 996
1000 3224
10000 33488
100000 335115
1000000 3351365在完成此压缩之前还是之后,1GB的大小限制?
发布于 2021-03-03 11:53:03
对于varlena数据类型(如json ),1GB的限制是在压缩之前。
请注意,您将需要大量的RAM来读取和写入这些值。将如此大的值存储在数据库中通常是一个问题和糟糕的设计。
https://dba.stackexchange.com/questions/286352
复制相似问题