sql >> Databasteknik >  >> RDS >> PostgreSQL

2 sätt att få storleken på en databas i PostgreSQL

Nedan finns två sätt att returnera storleken på en specifik databas i PostgreSQL.

PG_DATABASE_SIZE() Funktion

PG_DATABASE_SIZE() funktionen beräknar det totala diskutrymmet som används av databasen med det angivna namnet eller OID.

Exempel:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Resultat:

8169 kB

Här returnerade jag storleken på pethotel databas.

I det här fallet använde jag också PG_SIZE_PRETTY() funktion för att returnera resultatet i ett mer lättläst format med storleksenheter (byte, kB, MB, GB eller TB beroende på vad som är lämpligt).

Här är vad vi får utan den funktionen:

SELECT PG_DATABASE_SIZE('pethotel');

Resultat:

8364911

För att använda han PG_DATABASE_SIZE() funktion måste du ha CONNECT privilegium på den angivna databasen (vilket beviljas som standard) eller vara medlem i pg_read_all_stats roll.

\l+ Kommando

Om du använder psql kan du köra \l+ kommando.

Exempel:

\l+ pagila

Resultat:

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

Den här gången kollade jag pagila databas.

Detta kan också köras med \list+ (\l+ är en förkortning av \list+ ).

Kommandot kan också köras utan plustecknet (+ ), dock + är det som returnerar utökad information, som storleken (vilket är det vi är intresserade av här).

Kommandot kan också köras utan att ange databasen. I detta fall kommer information om alla databaser att returneras.

Observera att storleksinformation endast är tillgänglig för databaser som den aktuella användaren kan ansluta till.


  1. Skillnaden mellan VARCHAR2(10 CHAR) och NVARCHAR2(10)

  2. Databassäkerhet i Oracle

  3. biginteger array-funktioner

  4. Python-databasprogrammering med SQL Express för nybörjare