【问题标题】:Count file size in PostgreSQL计算 PostgreSQL 中的文件大小
【发布时间】:2016-04-05 18:40:10
【问题描述】:

我有一个简单的表,我想用它来存储文件。

CREATE TABLE table(
 ID INTEGER NOT NULL,
 FILE_NAME TEXT,
 FILE OID
)
;

SQL 查询有什么方法可以计算表中文件的总大小吗?没有功能可以吗?

【问题讨论】:

标签: postgresql postgresql-9.3


【解决方案1】:

rzo 接近但不完全正确。

select file_name, pg_column_size(lo_get(oid)) from files;

以字节为单位提供大小。

如果你想要漂亮的打印:

select file_name, pg_size_pretty(pg_column_size(lo_get(oid))::numeric) from files;

【讨论】:

    【解决方案2】:

    如果您对总磁盘大小(磁盘使用情况)感兴趣,您可以执行以下操作:

    SELECT nspname || '.' || relname AS "relation",
        pg_size_pretty(pg_relation_size(C.oid)) AS "size"
      FROM pg_class C
      LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
      WHERE nspname NOT IN ('pg_catalog', 'information_schema')
      ORDER BY pg_relation_size(C.oid) DESC
      LIMIT 20;
    

    其他测量关系大小的查询可以找到in the PostgreSQL Wiki

    【讨论】:

    • 谢谢,但我只需要将文件的大小放入表中即可。
    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 2010-12-22
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    相关资源
    最近更新 更多