Poniżej znajdują się dwa sposoby na zwrócenie rozmiaru określonej bazy danych w PostgreSQL.
PG_DATABASE_SIZE() Funkcja
PG_DATABASE_SIZE() funkcja oblicza całkowitą ilość miejsca na dysku zajmowaną przez bazę danych o określonej nazwie lub OID.
Przykład:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel')); Wynik:
8169 kB
Tutaj zwróciłem rozmiar pethotel baza danych.
W tym przypadku również użyłem PG_SIZE_PRETTY() funkcja zwracająca wynik w bardziej czytelnym dla człowieka formacie z jednostkami rozmiaru (odpowiednio bajty, kB, MB, GB lub TB).
Oto, co otrzymujemy bez tej funkcji:
SELECT PG_DATABASE_SIZE('pethotel'); Wynik:
8364911
Aby użyć ton PG_DATABASE_SIZE() funkcja, musisz mieć CONNECT uprawnienia do określonej bazy danych (które jest przyznawane domyślnie) lub być członkiem pg_read_all_stats rola.
\l+ Polecenie
Jeśli używasz psql, możesz uruchomić \l+ Komenda.
Przykład:
\l+ pagila Wynik:
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 | | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
Tym razem sprawdziłem pagila baza danych.
Można to również uruchomić za pomocą \list+ (\l+ to skrót od \list+ ).
Polecenie można również uruchomić bez symbolu plusa (+ ), jednak + to jest to, co zwraca rozszerzone informacje, takie jak rozmiar (co nas tutaj interesuje).
Komendę można również uruchomić bez określania bazy danych. W takim przypadku zostaną zwrócone informacje o wszystkich bazach danych.
Pamiętaj, że informacje o rozmiarze są dostępne tylko dla baz danych, z którymi może się połączyć bieżący użytkownik.