Níže jsou uvedeny dva způsoby, jak vrátit velikost konkrétní databáze v PostgreSQL.
PG_DATABASE_SIZE()
Funkce
PG_DATABASE_SIZE()
funkce vypočítá celkové místo na disku používané databází se zadaným názvem nebo OID.
Příklad:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));
Výsledek:
8169 kB
Zde jsem vrátil velikost pethotel
databáze.
V tomto případě jsem také použil PG_SIZE_PRETTY()
funkce, která vrátí výsledek ve snáze čitelném formátu s jednotkami velikosti (byty, kB, MB, GB nebo TB podle potřeby).
Zde je to, co získáme bez této funkce:
SELECT PG_DATABASE_SIZE('pethotel');
Výsledek:
8364911
Chcete-li použít the PG_DATABASE_SIZE()
musíte mít CONNECT
oprávnění k zadané databázi (které je standardně uděleno) nebo být členem pg_read_all_stats
role.
\l+
Příkaz
Pokud používáte psql, můžete spustit \l+
příkaz.
Příklad:
\l+ pagila
Výsledek:
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 | | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
Tentokrát jsem zkontroloval pagila
databáze.
To lze také spustit pomocí \list+
(\l+
je zkratka pro \list+
).
Příkaz lze také spustit bez znaménka plus (+
), ale +
je to, co vrací rozšířené informace, jako je velikost (což nás zde zajímá).
Příkaz lze také spustit bez zadání databáze. V tomto případě budou vráceny informace o všech databázích.
Pamatujte, že informace o velikosti jsou dostupné pouze pro databáze, ke kterým se může aktuální uživatel připojit.