Как получить размер без лишних областей в postgresql - PullRequest
0 голосов
/ 27 апреля 2020

Вы можете получить размер использования для каждой базы данных с помощью SQL. Тем не менее, я думаю, что это также включает в себя ненужные области.

select pg_database_size ('DBNAME');

Есть ли способ получить размер как можно ближе к размеру после VACUUM без VACUUM?

1 Ответ

0 голосов
/ 27 апреля 2020

Я предполагаю, что вы говорите о VACUUM (FULL), а не VACUUM, что является чем-то совершенно другим (обычно VACUUM обычно не освобождает место для хранения).

Есть пара запросы, которые пытаются оценить количество раздувания в PostgreSQL таблицах (см. http://wiki.postgresql.org), но ни один из них не является достаточно точным.

Чтобы найти точное количество раздувания в таблице PostgreSQL используйте функцию pgstattuple в расширении с тем же именем, но имейте в виду, что она выполняет последовательное сканирование всей таблицы (функция pgstattuple _approx обеспечивает хорошее приближение без сканирования всей таблицы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...