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.