我发现postgreSQL存储目录下的最大文件夹是/usr/local/var/postgres/base/209510
我怎么知道这些数据属于哪个数据表?
另一方面,是否可以知道哪个数据库或数据表占用最多的商店。
因为我的SSD磁盘上几乎没有可用空间
答案 0 :(得分:2)
要在postgreSQL中找到最大的数据库:
SELECT datname, pg_size_pretty(pg_database_size(datname)) db_size
FROM pg_database
ORDER BY db_size;
答案 1 :(得分:1)
在psql中,您可以使用\l+
命令获取大小合适的数据库摘要。
答案 2 :(得分:0)
执行此操作的最佳方法是在SQL提示符内 - 有几个可以在https://wiki.postgresql.org/wiki/Disk_Usage列出的查询示例,下面复制了当前数据库中最大表的一个查询示例。
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;