PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

2 façons d'obtenir la taille d'une base de données dans PostgreSQL

Vous trouverez ci-dessous deux façons de renvoyer la taille d'une base de données spécifique dans PostgreSQL.

Le PG_DATABASE_SIZE() Fonction

Le PG_DATABASE_SIZE() La fonction calcule l'espace disque total utilisé par la base de données avec le nom ou l'OID spécifié.

Exemple :

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Résultat :

8169 kB

Ici, j'ai retourné la taille du pethotel base de données.

Dans ce cas, j'ai également utilisé le PG_SIZE_PRETTY() fonction pour renvoyer le résultat dans un format plus facilement lisible par l'homme avec des unités de taille (octets, Ko, Mo, Go ou To selon le cas).

Voici ce que nous obtenons sans cette fonction :

SELECT PG_DATABASE_SIZE('pethotel');

Résultat :

8364911

Pour utiliser le PG_DATABASE_SIZE() fonction, vous devez avoir CONNECT privilège sur la base de données spécifiée (ce qui est accordé par défaut) ou être membre de pg_read_all_stats rôle.

Le \l+ Commande

Si vous utilisez psql, vous pouvez exécuter le \l+ commande.

Exemple :

\l+ pagila

Résultat :

                                                 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 |             |
+--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+

Cette fois j'ai vérifié la pagila base de données.

Cela peut également être exécuté en utilisant \list+ (\l+ est l'abréviation de \list+ ).

La commande peut également être exécutée sans le symbole plus (+ ), cependant, le + est ce qui renvoie des informations étendues, telles que la taille (ce qui nous intéresse ici).

La commande peut également être exécutée sans spécifier la base de données. Dans ce cas, les informations sur toutes les bases de données seront renvoyées.

Notez que les informations de taille ne sont disponibles que pour les bases de données auxquelles l'utilisateur actuel peut se connecter.