docker exec -it postgres-98a bash
su postgres
$ psql -U sonar -d sonardb -W #sonarpwd
sonar sonarpwd
psql -U sonar95a -d sonardb_95a -W #sonar95apwdsql
-- 查询整个数据库的磁盘占用
SELECT pg_size_pretty(pg_database_size('sonardb')) AS size;
-- 查询整个数据库实例的总磁盘占用
SELECT datname AS database_name, pg_size_pretty(pg_database_size(datname)) AS size FROM pg_database;
-- 查询当前数据库中所有表的大小
SELECT
relname AS table_name,
pg_size_pretty(pg_total_relation_size(relid)) AS total_size,
pg_size_pretty(pg_relation_size(relid)) AS table_size,
pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) AS index_size
FROM
pg_catalog.pg_statio_user_tables
ORDER BY
pg_total_relation_size(relid) DESC limit 10;
-- 清理表后,运行 VACUUM FULL 来回收磁盘空间:
VACUUM FULL project_measures;
REINDEX TABLE project_measures;
VACUUM FULL issues;
REINDEX TABLE issues;
VACUUM FULL issue_changes;
REINDEX TABLE issue_changes;
VACUUM FULL components;
REINDEX TABLE components;
VACUUM FULL file_sources;
REINDEX TABLE file_sources;
VACUUM FULL live_measures;
REINDEX TABLE live_measures;
-- 重建索引
REINDEX TABLE live_measures;
REINDEX TABLE file_sources;数据库需保证预留磁盘空间
sonardb=# VACUUM FULL live_measures;
ERROR: could not extend file "base/16384/2478678.1": No space left on device
HINT: Check free disk space.