Skip to main content
Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

PostgreSQL 统计字段最大长度的方法

统计字符长度 (Character Length)

使用 LENGTH() 函数:

SELECT MAX(LENGTH(your_column)) AS max_char_length FROM your_table;

此方法计算字符数,对多字节字符(如中文)按一个字符计算。

统计字节长度 (Byte Length)

使用 OCTET_LENGTH() 函数(或 LENGTH(column_name, ‘bytes’) 在较新版本中):

SELECT MAX(OCTET_LENGTH(your_column)) AS max_byte_length FROM your_table;

此方法返回占用的字节数,更精确地反映存储大小。

获取实际物理存储大小(包括TOAST开销)

使用 PG_COLUMN_SIZE() 函数:

SELECT MAX(PG_COLUMN_SIZE(your_column)) AS max_storage_size FROM your_table;

这会返回该列值在磁盘上的实际大小(包括TOAST指针和压缩开销),是数据库管理中最接近真实物理存储的度量。

示例

-- 假设表 articles 有一个 varchar 类型的 title 列
SELECT
    MAX(LENGTH(title)) AS max_chars,
    MAX(OCTET_LENGTH(title)) AS max_bytes,
    MAX(PG_COLUMN_SIZE(title)) AS max_physical_bytes
FROM
    articles;