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.