sql >> Database teknologi >  >> RDS >> PostgreSQL

2 måder at få størrelsen på en database i PostgreSQL

Nedenfor er to måder at returnere størrelsen af ​​en specifik database i PostgreSQL.

PG_DATABASE_SIZE() Funktion

PG_DATABASE_SIZE() funktion beregner den samlede diskplads, der bruges af databasen med det angivne navn eller OID.

Eksempel:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Resultat:

8169 kB

Her returnerede jeg størrelsen på pethotel database.

I dette tilfælde brugte jeg også PG_SIZE_PRETTY() funktion til at returnere resultatet i et lettere menneskeligt læsbart format med størrelsesenheder (bytes, kB, MB, GB eller TB alt efter hvad der er relevant).

Her er, hvad vi får uden den funktion:

SELECT PG_DATABASE_SIZE('pethotel');

Resultat:

8364911

For at bruge han PG_DATABASE_SIZE() funktion, skal du have CONNECT privilegium på den angivne database (som er givet som standard) eller være medlem af pg_read_all_stats rolle.

\l+ Kommando

Hvis du bruger psql, kan du køre \l+ kommando.

Eksempel:

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

Denne gang tjekkede jeg pagila database.

Dette kan også køres med \list+ (\l+ er en forkortelse for \list+ ).

Kommandoen kan også køres uden plussymbolet (+ ), dog + er det, der returnerer udvidet information, såsom størrelsen (som er det, vi er interesseret i her).

Kommandoen kan også køres uden at angive databasen. I dette tilfælde vil oplysninger om alle databaser blive returneret.

Bemærk, at størrelsesoplysninger kun er tilgængelige for databaser, som den aktuelle bruger kan oprette forbindelse til.


  1. MySQL Hosting på Azure, Fuldt administreret Cloud Database Service lanceres på ScaleGrid

  2. udskrivning af en værdi af en variabel i postgresql

  3. Hvordan får man primær nøglekolonne i Oracle?

  4. Sådan indstiller du statuslinjefarve i SSMS til forskellige SQL Server-forekomster - SQL Server / TSQL vejledning del 6