PostgreSQL - Как узнать размер таблиц в базе данных
Коллеги всем привет.
В сегодняшней статье мы поговорим о том как узнать размер таблиц в базе данных PostgreSQL.
Знать размер своих таблиц является важной задачей и каждый администратор базы данных должен знать как это делать. Мы рассмотрим несколько универсальных запросов которые позволят узнать размер какой-то определенной таблицы и всех сразу.
В первом варианте мы выведем 5 самых больших таблиц в базе данных postgres, для этого выполним запрос.
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 5;
В этом варианте запрос показывает общий размер всех таблиц, включая все индексы в текущей базе данных.
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC;
Запрос, который показывает размер определенной таблицы в базе данных.
SELECT pg_size_pretty( pg_total_relation_size( 'table_name' ));
Запрос, который показывает размер индекса.
SELECT pg_size_pretty(pg_indexes_size('index_empid'));
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.