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.