Инструменты пользователя

Инструменты сайта


razmer_bazy_dannyx_postgresql

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

razmer_bazy_dannyx_postgresql [2018/08/06 03:22] (текущий)
Строка 1: Строка 1:
 +====== Размер базы данных PostgreSQL ======
 +{{htmlmetatags>​
 +metatag-description=(Все о размерах физических и виртуальных баз данных PostgreSQL. Как посмотреть размер баз и таблиц PostgreSQL.)
 +}}
  
 +  * **Мониторинг использования диска** [[PostgreSQL]]. [[http://​postgresql.ru.net/​manual/​disk-usage.html|Определение использования диска]]
 +  * [[Дополнительные возможности клиента psql]]
 +
 +**Как посмотреть размер баз и таблиц?​**
 +  * **Физический размер БД**, при помощи команды [[du]].<​file>​
 +# du -hsx /​var/​lib/​pgsql
 +178G /​var/​lib/​pgsql
 +</​file>​
 +<note important>​Эта информация будет правильной если Вы уверены,​ что внутри директории /​var/​lib/​pgsql находятся все файлы и табличные пространства,​ проще определить размер БД при помощи [[SQL]].</​note>​
 +  * **Просмотр размера базы по имени БД или ее OID.**<​file>​
 +SELECT pg_database_size('​имя базы'​);​
 +SELECT pg_database_size('​oid'​);​
 +# psql -U postgres -A -c "​select pg_database_size('​имя базы'​)"​
 +SELECT pg_database_size(current_database());​
 +</​file>​
 +  * **Вывести размер текущей базы данных в байтах и гигабайтах.** Результат будет выведен в байтах,​ для конвертирования в удобочитаемый формат можно использовать функцию [[http://​www.postgresql.org/​docs/​current/​static/​functions-admin.html|pg_size_pretty]]().<​file>​
 +mbillcz5054=#​ SELECT pg_database_size(current_database()) AS size_Bytes,
 +pg_database_size(current_database())/​1024.0/​1024/​1024 AS size_GBytes,​
 +pg_size_pretty(pg_database_size(current_database())) AS size_pretty;​
 +  size_bytes ​ |     ​size_gbytes ​     | size_pretty ​
 +--------------+----------------------+-------------
 + ​189442111248 | 176.4317147880792617 | 176 GB
 +</​file>​
 +  * **Вывести суммарный размер всех баз данных.**<​file>​
 +SELECT sum(pg_database_size(datname)) FROM pg_database;​
 +</​file>​
 +  * **Каков размер таблицы(только данные)?​** pg_relation_size<​file>​
 +SELECT pg_relation_size('​имя таблицы'​);​
 +
 +# psql -U postgres имя базы -c "​SELECT pg_relation_size('​имя таблицы'​)"​
 +
 +SELECT pg_relation_size('​prices'​) AS size_Bytes,
 +pg_relation_size('​prices'​)/​1024.0/​1024/​1024 AS size_GBytes,​
 +pg_size_pretty(pg_relation_size('​prices'​)) AS size_pretty;​
 + ​size_bytes |    size_gbytes ​    | size_pretty ​
 +------------+--------------------+-------------
 + ​3834396672 | 3.5710601806640625 | 3657 MB
 +</​file>​
 +  * **Каков полный размер таблицы (включая индексы и другие связанные с нею пространства)?​** pg_total_relation_size или \dt+<​file>​
 +SELECT pg_total_relation_size('​имя таблицы'​);​
 +
 +SELECT pg_total_relation_size('​prices'​) AS size_Bytes,
 +pg_relation_size('​prices'​)/​1024.0/​1024/​1024 AS size_GBytes,​
 +pg_size_pretty(pg_relation_size('​prices'​)) AS size_pretty;​
 +
 +# \dt+ prices
 +                     List of relations
 + ​Schema |  Name  | Type  |  Owner   ​| ​ Size   | Description ​
 +--------+--------+-------+----------+---------+-------------
 + ​public | prices | table | postgres | 3657 MB | 
 +</​file>​
 +  * Размер столбца<​file>​
 +select pg_column_size('​имя стобца'​) from '​имя таблицы';​
 +</​file>​
загрузка...
razmer_bazy_dannyx_postgresql.txt · Последние изменения: 2018/08/06 03:22 (внешнее изменение)