PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

2 начина да получите размера на база данни в PostgreSQL

По-долу са дадени два начина за връщане на размера на конкретна база данни в 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+ ).

Командата може да се изпълнява и без символа плюс (+ ), обаче + е това, което връща разширена информация, като например размера (това е това, което ни интересува тук).

Командата може да се изпълнява и без да се посочва базата данни. В този случай ще бъде върната информация за всички бази данни.

Имайте предвид, че информацията за размера е налична само за бази данни, с които текущият потребител може да се свърже.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Големи данни с PostgreSQL и Apache Spark

  2. Случайно премахнати привилегиите на суперпотребител по подразбиране на postgres - мога ли да ги върна?

  3. SQLAlchemy или psycopg2?

  4. Как да надстроите базата данни postgresql от 10 на 12, без да губите данни за openproject

  5. Архивиране/възстановяване на докеризирана PostgreSQL база данни