sql >> Databáze >  >> RDS >> PostgreSQL

2 způsoby, jak získat velikost databáze v PostgreSQL

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.


  1. Zaručuje UNION ALL pořadí výsledné sady

  2. Odečtěte minuty od časové hodnoty v PostgreSQL

  3. Více příkazů INSERT vs. jeden příkaz INSERT s více VALUES

  4. Prokázání ekvivalence SQL dotazu