Интерфейс ожиданий в PostgreSQL

Люди, имеющие опыт работы с коммерческими СУБД, привыкли к тому, что могут получить ответ на вопрос “Чем прямо сейчас занимается конкретная сессия?” Или ещё лучше “Чего ждала каждая сессия 5 минут назад?” Долгое время PostgreSQL не имел таких средств диагностики и DBA приходилось выкручиваться разной степени изощрённости способами. О том …

more ...

Лаг репликации PostgreSQL в секундах

Наш классический шард PostgreSQL состоит из мастера и двух реплик. Мы мониторим тот факт, что реплик ровно столько, сколько должно быть (зажигаем WARN, если осталась одна, и CRIT, если реплик не осталось). И мониторим отставание реплик, а именно replay_location. Всё это делается парой простых запросов в pg_stat_replication …

more ...

Проверка консистентности бэкапов

Однажды в результате наложения двух человеческих ошибок при выкатке кода на базы мы сделали DROP SCHEMA data CASCADE; на всех шардах одного из кластеров, в котором лежало около 3 ТБ данных. Это добавило нам много седых волос, позволило проверить свои навыки в PITR прямо в бою и заставило по-другому относиться …

more ...