sql >> Database >  >> RDS >> PostgreSQL

2 manieren om de grootte van een database in PostgreSQL te krijgen

Hieronder staan ​​twee manieren om de grootte van een specifieke database in PostgreSQL te retourneren.

De PG_DATABASE_SIZE() Functie

De PG_DATABASE_SIZE() functie berekent de totale schijfruimte die wordt gebruikt door de database met de opgegeven naam of OID.

Voorbeeld:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Resultaat:

8169 kB

Hier heb ik de grootte van het pethotel geretourneerd database.

In dit geval heb ik ook de PG_SIZE_PRETTY() . gebruikt functie om het resultaat terug te geven in een gemakkelijker door mensen leesbaar formaat met grootte-eenheden (bytes, kB, MB, GB of TB indien van toepassing).

Dit is wat we krijgen zonder die functie:

SELECT PG_DATABASE_SIZE('pethotel');

Resultaat:

8364911

Om the PG_DATABASE_SIZE() te gebruiken functie, moet u CONNECT . hebben privilege op de opgegeven database (die standaard wordt verleend) of lid zijn van de pg_read_all_stats rol.

De \l+ Commando

Als u psql gebruikt, kunt u de \l+ . uitvoeren opdracht.

Voorbeeld:

\l+ pagila

Resultaat:

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

Deze keer controleerde ik de pagila database.

Dit kan ook worden uitgevoerd met \list+ (\l+ is een afkorting voor \list+ ).

De opdracht kan ook worden uitgevoerd zonder het plusteken (+ ), echter, de + is wat uitgebreide informatie retourneert, zoals de maat (dat is waar we hier in geïnteresseerd zijn).

De opdracht kan ook worden uitgevoerd zonder de database op te geven. In dit geval wordt informatie over alle databases geretourneerd.

Houd er rekening mee dat informatie over de grootte alleen beschikbaar is voor databases waarmee de huidige gebruiker verbinding kan maken.


  1. Ontsnappen aan een enkel aanhalingsteken in PHP bij het invoegen in MySQL

  2. Is er een Entity Framework 7 Database-First POCO Generator?

  3. Een weergave maken in PostgreSQL

  4. De verschillende beperkingen in SQL Server verkennen