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'));
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.