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

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

more ...

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

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

more ...

Обновление PostgreSQL до 9.4

Пролог

В 9.4 появилась логическая репликация. А потому с 9.4 на 9.5 можно будет обновиться весьма дёшево (по крайней мере так должно быть). Ну а прямо сейчас обновление мажорной версии PostgreSQL — боль. В самом распространённом варианте это выглядит так:

  1. Необходимо полностью потушить мастер и дёрнуть pg_upgrade …
more ...

HTTPS

На дворе 2015-й год, все и вся переводят свои сервисы с HTTP на HTTPS. И поскольку замечательные ребята из StartSSL бесплатно раздают валидные сертификаты, я решил сделать сайт доступным по https. Поскольку в таком случае с pelican’ом мне придётся генерировать статику дважды (для http и https), я решил сделать …

more ...

Слайды с PgConf.Russia 2015

Я расскажу о том, как мы внедрили PostgreSQL в транспорте нотификаций. О том, как менялись требования к хранилищу в ходе развития проекта и как PostgreSQL позволил нам их обеспечить. Терабайты данных, десятки тысяч транзакций в секунду - всё, как мы любим. Разумееется, расскажу о проблемах, с которыми мы столкнулись, и о том, как мы их решили.
more ...