DBAtlas · Атлас эксплуатации баз данных

Показать общий размер базы данных

Oracle

SELECT ROUND(SUM(bytes)/1024/1024/1024, 2) AS total_gb
FROM dba_data_files;

Только для занятых сегментов суммируйте dba_segments. Для TEMP добавьте dba_temp_files.

PostgreSQL

SELECT pg_size_pretty(pg_database_size(current_database()));

Для всех баз данных: SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database ORDER BY 2 DESC;

MySQL

SELECT table_schema AS db,
       ROUND(SUM(data_length + index_length)/1024/1024, 1) AS mb
FROM information_schema.tables
GROUP BY table_schema
ORDER BY mb DESC;

Для InnoDB это значение оценочное; точный размер файлов проверяйте по ibdata/файлам на уровне ОС.

SQL Server

EXEC sp_spaceused;
-- All databases:
SELECT DB_NAME(database_id) AS db,
       CAST(SUM(size) * 8.0 / 1024 AS DECIMAL(10,1)) AS mb
FROM sys.master_files
GROUP BY database_id;

Столбец size — в страницах по 8 KB; * 8 / 1024 переводит в MB.

MongoDB

db.stats(1024*1024)
// returns the dataSize, storageSize, indexSize fields in MB

storageSize — сжатый размер на диске; dataSize — несжатый логический размер.

Redis

INFO memory
# the used_memory_human line gives the total size in memory
DBSIZE  # number of keys

Redis работает в памяти; «размер» означает использование RAM. Размер файла RDB/AOF — это сохранённое состояние на диске.

Открыть в DBAtlas →