我有这个简单的表,我想用它来存储文件。在PostgreSQL中计算文件大小
CREATE TABLE table(
ID INTEGER NOT NULL,
FILE_NAME TEXT,
FILE OID
)
;
有什么办法用SQL查询来计算表中的文件总大小?这可能没有功能?
我有这个简单的表,我想用它来存储文件。在PostgreSQL中计算文件大小
CREATE TABLE table(
ID INTEGER NOT NULL,
FILE_NAME TEXT,
FILE OID
)
;
有什么办法用SQL查询来计算表中的文件总大小?这可能没有功能?
如果你有兴趣在磁盘总容量(磁盘使用情况),你可以这样做:
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
谢谢,但我只需要将文件的大小放入表格中即可。 –
pg_relation_size是否与高球一起工作? –
rzo接近但不完全正确。
select file_name, pg_column_size(lo_get(oid)) from files;
以字节为单位给出您的大小。
如果你想漂亮的印刷:?获取PostgreSQL的查询大对象的大小]
select file_name, pg_size_pretty(pg_column_size(lo_get(oid))::numeric) from files;
的可能的复制(http://stackoverflow.com/questions/10169309/get-size-of-large -object-in-postgresql-query) –
在我的情况下,我更喜欢使用查询不是功能?这可能吗? –