PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

2 maneiras de obter o tamanho de um banco de dados no PostgreSQL


Abaixo estão duas maneiras de retornar o tamanho de um banco de dados específico no PostgreSQL.

O PG_DATABASE_SIZE() Função


O PG_DATABASE_SIZE() A função calcula o espaço total em disco usado pelo banco de dados com o nome ou OID especificado.

Exemplo:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Resultado:
8169 kB

Aqui, retornei o tamanho do pethotel base de dados.

Neste caso eu também usei o PG_SIZE_PRETTY() função para retornar o resultado em um formato mais facilmente legível por humanos com unidades de tamanho (bytes, kB, MB, GB ou TB conforme apropriado).

Aqui está o que obtemos sem essa função:
SELECT PG_DATABASE_SIZE('pethotel');

Resultado:
8364911

Para usar ele PG_DATABASE_SIZE() função, você deve ter CONNECT privilégio no banco de dados especificado (que é concedido por padrão) ou ser um membro do pg_read_all_stats Função.

O \l+ Comando


Se você estiver usando o psql, poderá executar o \l+ comando.

Exemplo:
\l+ pagila

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

Desta vez eu verifiquei a pagila base de dados.

Isso também pode ser executado usando \list+ (\l+ é a abreviação de \list+ ).

O comando também pode ser executado sem o símbolo de mais (+ ), no entanto, o + é o que retorna informações estendidas, como o tamanho (que é o que nos interessa aqui).

O comando também pode ser executado sem especificar o banco de dados. Nesse caso, as informações de todos os bancos de dados serão retornadas.

Observe que as informações de tamanho estão disponíveis apenas para bancos de dados aos quais o usuário atual pode se conectar.