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.