Di seguito sono riportati due modi per restituire la dimensione di un database specifico in PostgreSQL.
Il PG_DATABASE_SIZE()
Funzione
Il PG_DATABASE_SIZE()
La funzione calcola lo spazio su disco totale utilizzato dal database con il nome o l'OID specificato.
Esempio:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));
Risultato:
8169 kB
Qui ho restituito la dimensione del pethotel
banca dati.
In questo caso ho usato anche il PG_SIZE_PRETTY()
funzione per restituire il risultato in un formato più facilmente leggibile con unità di dimensione (byte, kB, MB, GB o TB a seconda dei casi).
Ecco cosa otteniamo senza quella funzione:
SELECT PG_DATABASE_SIZE('pethotel');
Risultato:
8364911
Per usare tegli PG_DATABASE_SIZE()
funzione, devi avere CONNECT
privilegio sul database specificato (che è concesso per impostazione predefinita) o essere un membro del pg_read_all_stats
ruolo.
Il \l+
Comando
Se stai usando psql, puoi eseguire \l+
comando.
Esempio:
\l+ pagila
Risultato:
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 | | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
Questa volta ho controllato la pagila
banca dati.
Questo può essere eseguito anche usando \list+
(\l+
è l'abbreviazione di \list+
).
Il comando può essere eseguito anche senza il simbolo più (+
), tuttavia, il +
è ciò che restituisce informazioni estese, come la taglia (che è ciò che ci interessa qui).
Il comando può essere eseguito anche senza specificare il database. In questo caso verranno restituite le informazioni su tutti i database.
Tieni presente che le informazioni sulle dimensioni sono disponibili solo per i database a cui l'utente corrente può connettersi.