По-долу са дадени два начина за връщане на размера на конкретна база данни в PostgreSQL.
PG_DATABASE_SIZE()
Функция
PG_DATABASE_SIZE()
функцията изчислява общото дисково пространство, използвано от базата данни с посоченото име или OID.
Пример:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));
Резултат:
8169 kB
Ето, върнах размера на pethotel
база данни.
В този случай използвах и PG_SIZE_PRETTY()
функция за връщане на резултата в по-лесно четим от човека формат с единици за размер (байтове, kB, MB, GB или TB според случая).
Ето какво получаваме без тази функция:
SELECT PG_DATABASE_SIZE('pethotel');
Резултат:
8364911
За да използвате tтой PG_DATABASE_SIZE()
функция, трябва да имате CONNECT
привилегия в определената база данни (която е предоставена по подразбиране) или да бъдете член на pg_read_all_stats
роля.
\l+
Команда
Ако използвате psql, можете да стартирате \l+
команда.
Пример:
\l+ pagila
Резултат:
List of databases +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+ | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 16 MB | pg_default | | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
Този път проверих pagila
база данни.
Това може да се изпълни и с помощта на \list+
(\l+
е съкращение от \list+
).
Командата може да се изпълнява и без символа плюс (+
), обаче +
е това, което връща разширена информация, като например размера (това е това, което ни интересува тук).
Командата може да се изпълнява и без да се посочва базата данни. В този случай ще бъде върната информация за всички бази данни.
Имайте предвид, че информацията за размера е налична само за бази данни, с които текущият потребител може да се свърже.