如何获取 PostgreSQL jsonb 字段的大小?

Posted

技术标签:

【中文标题】如何获取 PostgreSQL jsonb 字段的大小?【英文标题】:How to get size of PostgreSQL jsonb field? 【发布时间】:2017-03-19 08:06:04 【问题描述】:

我有一个表中包含 jsonb 字段的表。

CREATE TABLE data.items
(
  id serial NOT NULL,
  datab jsonb
)

如何在这样的查询中获取该字段的大小:

select id, size(datab) from data.items

【问题讨论】:

这可以帮助你***.com/questions/12394538/… pg_column_size()pg_size_bytes() postgresql.org/docs/current/static/… 【参考方案1】:

对于用于存储的字节数:

select id, pg_column_size(datab) from data.items;

对于jsonb对象上的元素个数:

select id, jsonb_array_length(datab) from data.items;

【讨论】:

pg_column_size 为好奇的postgresql.org/docs/12/functions-admin.html 返回“用于存储特定值的字节数(可能已压缩)”

以上是关于如何获取 PostgreSQL jsonb 字段的大小?的主要内容,如果未能解决你的问题,请参考以下文章

在 postgresql 中,如何在 jsonb 键上返回布尔值而不是字符串?

如何从 PostgreSQL 中的 JSONB 数组中获取特定对象的值?

如何使用PostgreSQL中的JSONB数据类型

PostgreSQL 查询 JSONB 字段中的对象数组

PostgreSql jsonb 字段查看

对 PostgreSQL 中 jsonb 字段内的对象数组使用 LIKE 运算符