PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

2 Möglichkeiten, die Größe einer Datenbank in PostgreSQL zu ermitteln

Im Folgenden finden Sie zwei Möglichkeiten, die Größe einer bestimmten Datenbank in PostgreSQL zurückzugeben.

Der PG_DATABASE_SIZE() Funktion

Der PG_DATABASE_SIZE() -Funktion berechnet den gesamten Speicherplatz, der von der Datenbank mit dem angegebenen Namen oder OID verwendet wird.

Beispiel:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Ergebnis:

8169 kB

Hier habe ich die Größe des pethotel zurückgegeben Datenbank.

In diesem Fall habe ich auch den PG_SIZE_PRETTY() verwendet Funktion, um das Ergebnis in einem leichter lesbaren Format mit Größeneinheiten (Byte, kB, MB, GB oder TB, je nach Bedarf) zurückzugeben.

Folgendes erhalten wir ohne diese Funktion:

SELECT PG_DATABASE_SIZE('pethotel');

Ergebnis:

8364911

Um den PG_DATABASE_SIZE() zu verwenden Funktion müssen Sie über CONNECT verfügen Berechtigung für die angegebene Datenbank (die standardmäßig gewährt wird) oder ein Mitglied der pg_read_all_stats sein Rolle.

Der \l+ Befehl

Wenn Sie psql verwenden, können Sie \l+ ausführen Befehl.

Beispiel:

\l+ pagila

Ergebnis:

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

Diesmal habe ich die pagila überprüft Datenbank.

Dies kann auch mit \list+ ausgeführt werden (\l+ ist die Abkürzung für \list+ ).

Der Befehl kann auch ohne das Pluszeichen ausgeführt werden (+ ), jedoch der + gibt erweiterte Informationen zurück, wie z. B. die Größe (woran wir hier interessiert sind).

Der Befehl kann auch ohne Angabe der Datenbank ausgeführt werden. In diesem Fall werden Informationen zu allen Datenbanken zurückgegeben.

Beachten Sie, dass Größeninformationen nur für Datenbanken verfügbar sind, zu denen der aktuelle Benutzer eine Verbindung herstellen kann.