PostgreSQL - Як дізнатися розмір таблиць у базі даних

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'));


 

Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.

 

СХОЖІ СТАТТІ

PostgreSQL - Як визначити, до яких файлів на диску відповідають таблиці в базі даних
PostgreSQL - Як визначити, до яких файлів на диску відповідають таблиці в базі даних
POSTGRESQL
Читати далі
PostgreSQL - Як перевірити привілеї користувача
PostgreSQL - Як перевірити привілеї користувача
POSTGRESQL
Читати далі
PostgreSQL - Як увімкнути архівування WAL журналів - archive_mode
PostgreSQL - Як увімкнути архівування WAL журналів - archive_mode
POSTGRESQL
Читати далі