# Об этой книге

Индекс LLMS: [llms.txt](/ru/llms.txt)

---

<span id="mon-chapter-star-4" class="pdf-anchor"></span><span id="pdf-page-10" class="pdf-anchor"></span>

Я написал эту книгу для того, чтобы доходчиво и на реальных примерах объяснить, как на практике устроен мониторинг PostgreSQL. Обычно официальная документация PostgreSQL по встроенным средствам наблюдения и мониторинга изложена довольно сухо, поэтому цель этой книги — объяснить все детали на примерах, которые будут понятны каждому администратору СУБД.

<span id="mon-section-star-5" class="pdf-anchor"></span>

## Кому следует прочесть эту книгу? {#mon-p10-h253}

Эта книга создана для администраторов баз данных, системных администраторов, специалистов по надежности и тех, кто просто интересуется администрированием PostgreSQL. Книга призвана осветить все тонкости темы мониторинга. В блогах можно найти множество публикаций, но большинство из них детально рассматривают лишь отдельные аспекты. Эта книга всесторонне охватывает мониторинг PostgreSQL, подготавливая читателя и помогая ему разобраться в большом разнообразии средств, встроенных в СУБД. Цель практически любого мониторинга — это выявление аномалий, предупреждение аварийных ситуаций и прогнозирование поведения системы в будущем. Используя мониторинг, можно лучше понять, как работает система, и дальше с помощью корректировки конфигурации и оптимизации рабочей нагрузки добиться увеличения производительности. Поэтому каждый, кто интересуется оптимизацией производительности, обязательно извлечет из этой книги полезную информацию и не только сделает выводы для себя, но и, возможно, наметит план изменений в администрируемых системах и получит полезный результат.

<span id="mon-section-star-6" class="pdf-anchor"></span>

## Как устроена эта книга {#mon-p10-h523}

Книга состоит из девяти глав.

- В главе 1 дается общее представление о том, что такое *статистика активности СУБД*, почему она так важна и является основой мониторинга PostgreSQL. Это вводная глава с теоретическими основами.

- В главе 2 разбирается статистика, которая описывает процессы и события внутри СУБД, вызванные выполнением рабочей нагрузки и обслуживанием клиентов.

- В главе 3 подробно рассматриваются клиентские сеансы и проводится анализ рабочей нагрузки, которая создается приложениями.

<span id="pdf-page-11" class="pdf-anchor"></span>

- В главе 4 статистика активности изложена с точки зрения взаимодействия с объектами СУБД и происходящих при этом событий.

- Глава 5 посвящена области общей памяти и вводу-выводу, как процессу перемещения данных между различными подсистемами.

- В главе 6 рассматриваются журнал предзаписи и связанная с ним статистика.

- В главе 7 говорится о репликации, возможных проблемах при ее использовании и инструментах для отслеживания ее состояния.

- Глава 8 посвящена процессу очистки баз данных, с которым сталкивался каждый администратор PostgreSQL.

- В главе 9 рассказывается об инструментах отслеживания хода выполнения продолжительных операций, которые требуется периодически запускать при эксплуатации СУБД.

После изучения этой книги читатели приобретут четкое представление о мониторинге PostgreSQL, об имеющихся для этого средствах в СУБД и о том, как использовать их наиболее эффективно. Также книга поможет разобраться в способах поиска и устранения проблем, связанных с эксплуатацией PostgreSQL.

<span id="mon-section-star-7" class="pdf-anchor"></span>

## На кого рассчитана книга {#mon-p11-h366}

Книга рассчитана на читателя с уровнем подготовки выше начального. Чтобы не увеличивать объем книги, подробное описание некоторых второстепенных вещей опущено в надежде, что читатель уже знаком с ними или способен найти ответ в поисковой системе или у ChatGPT. Предполагается, что читатель имеет следующие знания или навыки:

- базовые сведения об общем устройстве СУБД, например, в общих чертах представляет, что означает каждая из букв в аббревиатуре ACID, и знает, чем транзакция отличается от запроса;

- основы использования языка SQL и умение без подглядывания в документацию составить простой SELECT-запрос с условиями, соединениями или подзапросами; умение читать и понимать «чужие» запросы;

- базовые знания конкретно о PostgreSQL и общее представление о таких основных компонентах этой СУБД, как буферный кеш (shared buffers), журнал упреждающей записи, репликация и т. п.; превосходно, если читатель знаком с книгой The Internals of PostgreSQL, доступной по адресу [www.interdb.jp/pg/index.html](<http://www.interdb.jp/pg/index.html>);

- некоторое представление о системе мониторинга Prometheus[^mon-11-1], о том, что такое метрики и метки[^mon-11-2];

<span id="pdf-page-12" class="pdf-anchor"></span>

- минимальные навыки составления запросов PromQL/MetricsQL[^mon-12-1], так как в книге помимо SQL-запросов будут использоваться и примеры запросов на языках PromQL и MetricsQL;

- базовые навыки использования Grafana; желательно уметь создавать простые панели с графиками на основе запросов PromQL/MetricsQL, уметь редактировать легенду, единицы измерения, параметры отображения, цвета и т. д.;

- базовые навыки использования ОС Linux, такие как работа в терминале, установка пакетов и запуск программ;

- минимальные навыки использования инструментов Docker и Docker Compose; желательно уметь запускать и останавливать контейнеры, подключаться к ним и проверять их состояние.

<span id="mon-section-star-8" class="pdf-anchor"></span>

## Примеры кода {#mon-p12-h285}

В книге часто приводятся примеры запросов на языках SQL и PromQL/MetricsQL, а иногда встречаются команды, которые необходимо выполнить в shell-оболочке или psql-клиенте. Для того чтобы отделить примеры запросов от обычного текста, используется `моноширинный шрифт`, а команды `набраны жирным`. Названия конфигурационных параметров даны *курсивом*.

<span id="mon-section-star-9" class="pdf-anchor"></span>

## Остались вопросы? {#mon-p12-h450}

Поищите ответы в следующих источниках:

- Основная страница официальной документации на русском языке, посвященная встроенным средствам мониторинга PostgreSQL, доступна по адресу [www.postgrespro.ru/docs/postgresql/current/monitoring](<https://www.postgrespro.ru/docs/postgresql/current/monitoring>).

- Основная страница официальной документации на английском языке, посвященная встроенным средствам мониторинга PostgreSQL, доступна по адресу [www.postgresql.org/docs/current/monitoring.html](<https://www.postgresql.org/docs/current/monitoring.html>).

- Официальная wiki-страница, посвященная различным инструментам для мониторинга PostgreSQL, доступна по адресу [wiki.postgresql.org/wiki/Monitoring](<https://wiki.postgresql.org/wiki/Monitoring>).

<span id="pdf-page-13" class="pdf-anchor"></span><span id="mon-section-star-10" class="pdf-anchor"></span>

## Отзывы и пожелания {#mon-p13-h76}

Я буду рад отзывам читателей. Расскажите, что вы думаете об этой книге, — что понравилось или, может быть, не понравилось. Отзывы важны для меня и будут полезны при подготовке обновлений этой книги. Вы можете написать отзыв или пожелание по адресу [github.com/lesovsky/postgresql-monitoring-book/issues](<https://github.com/lesovsky/postgresql-monitoring-book/issues>). То же самое относится и к найденным опечаткам, запросам на исправление неточностей и т. п.

<span id="mon-section-star-11" class="pdf-anchor"></span>

## Нарушение авторских прав {#mon-p13-h224}

Пиратство в интернете (намеренное и непреднамеренное) по-прежнему остается насущной проблемой. Если вы столкнетесь с незаконной публикацией этой книги, пожалуйста, пришлите мне ссылку на интернет-ресурс, чтобы я мог связаться с его владельцем. Ссылку на подозрительные материалы можно оставить по адресу [github.com/lesovsky/postgresql-monitoring-book/issues](<https://github.com/lesovsky/postgresql-monitoring-book/issues>).

[^mon-11-1]: [prometheus.io/docs/introduction/overview](<https://prometheus.io/docs/introduction/overview>)
[^mon-11-2]: [prometheus.io/docs/concepts/data\_model](<https://prometheus.io/docs/concepts/data_model>)
[^mon-12-1]: [prometheus.io/docs/prometheus/latest/querying/basics](<https://prometheus.io/docs/prometheus/latest/querying/basics>)
