PostgreSQL

PostreSQL: Obliczanie miejsca zajmowanego na dysku przez bazę danych

PostgreSQL Jak to zrobić

Informacje o rozmiarze bazy danych zajmowanym na dysku możemy uzyskać poprzez wywołanie funkcji:

pg_database_size()

Powyższa funkcja podaje rozmiar w bajtach, co z reguły jest mało przyjazne dla człowieka. W związku z tym polecam użycie funkcji

pg_size_pretty()

Powyższa funkcja dokona konwersji wyświetlanych danych do formatu przyjaznego dla człowieka.

SELECT pg_size_pretty(pg_database_size('cc'));

W wyniku otrzymamy, na przykład:

pg_size_pretty
----------------
35 MB

PostreSQL: Jak znaleźć największą tabelę w bazie danych?

PostgreSQL

Niejednokrotnie zetknąłem się z potrzebą znalezienia największej tabeli w bazie danych. Zadanie to można wykonać stosunkowo prosto w następujących krokach:

  1. Logujemy się do bazy danych PostgreSQL, na przykład:

    psql baza_do_sprawdzenia_największej_tabeli

  2. Wydajemy polecenie SQL:

    SELECT relname, relpages FROM pg_class ORDER BY relpages DESC limit 1;

W wyniku otrzymamy na przykład:

relname | relpages
---------------------------------+----------
crm_log | 583