postgresql - 以字节/兆字节为单位确定表或选定记录的大小

标签 postgresql size byte diskspace

我最近有点懒惰,一直在生成数 GB 的 PostGis 数据库记录,其中大部分我不再需要了。我开始考虑稍微清理一下,但想确定这些记录占用了多少字节。

我正在使用 Rails,因此如果我可以对已选定的记录组调用方法或 SQL 片段以确定所述记录的大小(以字节为单位),这将非常有帮助。

最佳答案

对于表格:

SELECT  pg_size_pretty(pg_total_relation_size('name_of_tbl'));

对于其中的特定表格行和/或列:

SELECT pg_column_size(t) AS row_size_on_disk
       pg_column_size(t.column1) AS column1_size_on_disk
FROM   tbl t
WHERE  tbl_id = ?;

参见:

关于postgresql - 以字节/兆字节为单位确定表或选定记录的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20617933/

相关文章:

arrays - 带有 'ANY' 的 PostgreSQL 查询不工作

java - 无法从图库中导入正常大小的图像

java - 创建一个知道位的新 int/char

postgresql - 将时间戳转换为Postgres中特定时区的时间戳

sql - 创建一个有点复杂的笛卡尔结果

android - 如何修复位图大小超出 VM 预算的错误

docker - wsl2 中的磁盘存储文件。自由空间在哪里消失?

c++ - c++ 中字节的十六进制值到字符串(相当于 od -x 在 linux 中)?

c - 有效地将随机字节转换为字符串而不会损失太多熵

java - 我可以使用 JOOQ 对查询运行 "explain analyze"吗?