Postgresql硬盘空间查询
一、查看所有表,索引占用空间
-- 表、索引占用空间
SELECT
table_name,
pg_size_pretty(table_size) AS table_size,
pg_size_pretty(indexes_size) AS indexes_size,
pg_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
pg_table_size(table_name) AS table_size,
pg_indexes_size(table_name) AS indexes_size,
pg_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.tables
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes;
二、查看数据库占用空间
-- 查询指定数据库占用空间
select pg_size_pretty (pg_database_size('test_database'));
-- 查询所有数据库占用空间
select datname, pg_size_pretty (pg_database_size(datname)) AS size from pg_database;
三、查看当前数据库所有表占用空间
-- 查询当前数据库所有表占用空间
select
table_full_name,
pg_size_pretty(size)
from
(
SELECT
table_schema || '.' || table_name AS table_full_name,
pg_total_relation_size(
'"' || table_schema || '"."' || table_name || '"'
) AS size
FROM
information_schema.tables
ORDER BY
size DESC
) as T