Version 7 (modified by wkruk, 11 years ago) |
---|
Przewodnik administratora > Monitorowanie bazy danych
Niniejszy artykuł zawiera polecenia służące monitorowaniu bazy danych. Większość zapytań wykonać można z poziomu psql lub pgAdmin.
Wersja PostgreSQL
Polecenie zwraca wersję serwera PostgreSQL wraz z danymi serwera, na którym został zainstalowany
SELECT version();
Rozmiar bazy danych
Polecenie zwraca rozmiar bazy danych. Wykorzystanie funkcji pg_size_pretty zwiększa czytelność wyniku polecenia.
SELECT pg_size_pretty(pg_database_size('edokumenty'));
Zmiana nazwy bazy danych
W przypadku zajścia konieczności zmiany nazwy bazy danych należy wykonać takie polecenie (z poziomu połączenia do innej bazy):
ALTER DATABASE edokumenty_2 RENAME TO edokumenty);
Sprawdzenie ile pamięci RAM zajmuje Postgres
#ps -u postgres o pid= | tr -d ' ' | sed 's#.*#/proc/&/smaps#' | xargs sudo grep ^Pss: | awk '{A+=$2} END{print A}'
Wynik podawany jest w kB, na podstawie analizy plików smaps
Sprawdzenie aktualnie wykonywanych zapytań
postgres@edokumenty:~$psql SELECT (now() - pg_stat_activity.xact_start) AS age, pg_stat_activity.datname, pg_stat_activity.procpid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.query_start, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.current_query FROM pg_stat_activity WHERE (pg_stat_activity.xact_start IS NOT NULL) ORDER BY pg_stat_activity.xact_start;
Od wersji postgresql 9.2:
postgres@edokumenty:~$psql SELECT (now() - pg_stat_activity.xact_start) AS age, pg_stat_activity.datname, pg_stat_activity.procpid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.query_start, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.current_query FROM pg_stat_activity WHERE (pg_stat_activity.xact_start IS NOT NULL) ORDER BY pg_stat_activity.xact_start;