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

2 modi per ottenere le dimensioni di un database in PostgreSQL

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.