Как узнать размер базы данных postgresql
Перейти к содержимому

Как узнать размер базы данных postgresql

  • автор:

Размер базы данных PostgreSQL

Эта информация будет правильной если Вы уверены, что внутри директории /var/lib/pgsql находятся все файлы и табличные пространства, проще определить размер БД при помощи SQL.

Просмотр размера базы по имени БД или ее OID.

SELECT pg_database_size('имя базы'); SELECT pg_database_size('oid'); # psql -U postgres -A -c "select pg_database_size('имя базы')" SELECT pg_database_size(current_database());

Вывести размер текущей базы данных в байтах и гигабайтах. Результат будет выведен в байтах, для конвертирования в удобочитаемый формат можно использовать функцию pg_size_pretty().

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

Вывести суммарный размер всех баз данных.

SELECT sum(pg_database_size(datname)) FROM pg_database;

Каков размер таблицы (только данные)? pg_relation_size

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

Каков полный размер таблицы (включая индексы и другие связанные с нею пространства)? pg_total_relation_size или \dt+

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 |

Размер столбца

select pg_column_size('имя столбца') from 'имя таблицы';

PostgreSQL. Как узнать размер базы данных и таблиц?

Узнать размер всех таблиц Запрос выведет размер всех таблиц в базе.

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; 

Узнать общий размер таблиц Этот запрос показывает общий размер таблиц, включая все индексы в текущей базе данных:

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 LIMIT 20; 

Размер базы данных

SELECT pg_size_pretty( pg_database_size( 'sample_db' ) ); 
SELECT pg_size_pretty( pg_total_relation_size( 'table' ) ); 

Размер всех баз данных на сервере

select datname, pg_size_pretty(pg_database_size(datname)) from pg_database; 

Количество записей в таблице

SELECT count(*) FROM my_table; 

Совпадений по запросу » «

PostgreSQL: Размер таблиц и базы данных

Чтоб узнать размер всех таблиц схемы базы данных достаточно выполнить вот такой запрос:

select table_name, pg_size_pretty( pg_total_relation_size(table_name)) from information_schema.tables where table_schema = 'table_schema_name' and table_catalog = 'database_name';

Этот запрос вернет полный размер таблицы, включая индексы и данные TOAST. Чтоб узнать размер таблицы без индексов ( но включая TOAST, карту свободного места и карту видимости ) воспользуйтесь функцией pg_table_size. pg_relation_size() — чтоб узнать объём, который занимает на диске указанный слой (‘main’, ‘fsm’, ‘vm’, ‘init’) заданной таблицы или индекса. Про некоторые другие функции получения размера объектов можно почитать в документации.

Узнать размер баз данных на сервере:

select datname, pg_size_pretty(pg_database_size(datname)) from pg_database;

pg_size_pretty возвращает значение размера объектов в удобочитаемом для человека виде, например 36 MB. Однако можно использовать выше указанные функции напрямую. Тогда размер объектов вернется в байтах.

Поделиться ссылкой:

  • Послать ссылку другу по электронной почте (Открывается в новом окне)
  • Нажмите для печати (Открывается в новом окне)
  • Нажмите, чтобы поделиться в WhatsApp (Открывается в новом окне)
  • Нажмите, чтобы открыть на Facebook (Открывается в новом окне)
  • Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
  • Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
  • Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
  • Нажмите, чтобы поделиться на LinkedIn (Открывается в новом окне)

Postgresql как узнать размер базы данных

Postgresql как узнать размер базы данных

В сегодняшней короткой статье я вам покажу пару запросов которые показывают размер всех баз данных или какой-то одной базы данных в Postgresql.

Первый запрос показывает размер каждой базы данных.

psql> SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database;

postgresql_database_size

Второй запрос показывает размер базы данных название которое мы указываем.

psql> SELECT pg_size_pretty(pg_database_size(‘demo’));

postgresql_database_size

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *