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

  • Останнє оновлення: 3 Квітня 2024 р.
  • Перегляди: 15
  • Автор: Адмін
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'));


 

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

 

СХОЖІ СТАТТІ