Попасть на страницу «DB inspector» можно, находясь внутри экземпляра, слева в выпадающем меню.
На странице «DB Inspector» отображается информация о базах данных на текущем экземпляре PostgreSQL. В таблице представлены следующие данные:
- Название базы данных.
- Размер базы данных.
- Локальный язык кодирования.
- Кодировка базы данных.
- Владелец базы данных.
- Общее количество сессий.
- Общее количество блокировок.
- Доступность базы данных для агента.
Для анализа схемы данных нажмите кнопку «Inspect».
На странице инспектора выбранной базы данных предоставлена следующая информация:
- владелец базы данных
- кодировка базы данных
- табличное пространство
- ограничение на количество подключений
- общее количество схем
- общее количество таблиц
- общее количество индексов
- общее количество функций
- размер базы данных
- установленные расширения (есть пагинация).
- список индексов (есть пагинация)
- список функций
На странице также представлена статистика для выбранной базы данных, включая:
- количество полученных строк
- количество возвращенных строк
- количество успешно завершенных транзакций
- количество отмененных транзакций
- количество эксклюзивных блокировок
- количество добавленных строк
- количество обновленных строк
- количество удаленных строк
- количество созданных временных файлов
- количество записанных временных файлов
- количество прочитанных блоков данных
- информация о состоянии счетчика транзакций
Все графики можно увеличить для более подробного анализа. Временной интервал данных можно настроить в правом верхнем углу.
Healthchecks
Внутри инспектора, справа от статистических данных расположено окно с хелсчеками, чтобы их загрузить необходимо кликнуть на кнопку «Collect data».
Виды хэлсчеков
Проблемные:
- Таблицы с битыми индексами
- Таблицы с заимствованными ключами без индексов
- Таблицы с заимствованными ключами, с разным типом данных на ключах
Предупреждения:
- Таблицы в которых есть индекс, на который нужно посмотреть и принять решение, сделать ли его частичным.
- Таблицы, в которых есть индексы, в которых более 50% пустых значений. Интересный показатель, потому что, может быть, здесь нужно создать другой тип индекса, чтобы не тратить место.
- Таблицы с самым большим количеством bloat.
- Таблицы, по которым больше всего идёт течение seqscans.
- Таблицы, в которых есть неиспользуемые индексы.
- Таблицы, в которых есть повторяющиеся индексы.
- Таблицы с низким коэффициентом горячих обновлений.
- Таблицы с возможной проблемой автоанализа.
- Таблицы с потенциальными проблемами автоотчистки.
- Таблицы без уникальных индексов.
Информационные:
- Таблицы наибольшего размера.
- Индексы наибольшего размера.
- Самые читаемые таблицы.
При открытии Healthcheck мы попадаем на страницу «Overview», на ней представлен список таблиц, в которых были обнаружены проблемы.
На странице «Overview» предоставлена следующая информация о таблице:
- владелец
- тип таблицы
- индикатор таблицы
- примерное количество строк
- коэффициент заполнения
- наследование от других таблиц
- наличие TOAST
- системная таблица или нет
- табличное пространство
- карта видимости в процентах
Затем представлены результаты хелсчека, включая название, описание и рекомендации по решению обнаруженных проблем. Стрелочки над таблицей указывают на наличие нескольких проблем в таблице, которые можно просматривать поочередно. В некоторых случаях под таблицей могут появляться точки, указывающие на наличие проблем данного типа в нескольких элементах хелсчека.
Вторая вкладка на странице хелсчека называется «Statistics» и содержит различные статистические данные о выбранной таблице.
На странице предоставлена следующая информация о таблице:
Table size (Размер таблицы):
- общий размер таблицы и индексов (в МБ)
- размер таблицы (в МБ)
- размер TOAST таблицы (в КБ)
Bloat size (Размер раздувания таблицы):
- размер раздувания (в МБ)
- соотношение раздувания и данных
- чистый размер таблицы без раздувания (в МБ)
Indexes size & count (Размер и количество индексов):
- общий размер индексов на таблице
- процентное соотношение размера индексов к размеру таблицы
- количество индексов
Table width & length (Ширина и длина таблицы):
- количество колонок (ширина)
- количество строк (длина)
Hot update ratio (Отношение горячих обновлений):
- эффективность функции обновления в реальном времени
Seq vs index scans (Сексканы и индекс сканы):
- соотношение
- количество сексканов
- количество индексных сканов
Write activity (Активность записи данных в таблицу):
- количество записей в таблице
- количество вставок
- количество обновлений
- количество удалений
Autoanalyze stat (Информация об автоанализе):
- отношение автоанализа
- количество строк после анализа
- порог срабатывания автоанализа
- время последнего автоанализа
- количество автоанализов
Autovacuum stat (Статистика по автовакууму):
- соотношение
- количество мертвых строк
- порог срабатывания автовакуума
- время последнего автовакуума
- количество автовакуумов
Read activity (Активности на чтение таблицы):
- соотношение к чтению
- последовательное чтение версий строк
- извлечённые версии индексных записей
Analyze statistics (Статистика по анализу):
- дата последнего анализа
- количество анализов
Vacuum statistics (Статистики ручного вакуума):
- дата последнего вакуума
- количество вакуумов
Ниже представлено окно, в котором можно посмотреть в виде гистограммы кардинальность данных в таблицах, в колонках таблиц по строкам. Справа есть возможность выбирать имя столбца. Кардинальность данных важна, чтобы понимать целесообразность создания индексов.