lenec ru

Игорь Беляев

@igor_belyaev

с 31 января 2026 г.

Подписаться

10 постов 0 подписчиков 0 подписок 0 лайков

PostgreSQL jsonb: индексы, операторы и когда не нужен MongoDB

Тип jsonb в PostgreSQL позволяет хранить полуструктурированные данные, индексировать их и выполнять сложные запросы — без отдельного документного хранилища. Разберёмся, как работают операторы, какие…

0 10K
Игорь Беляев

PostgreSQL partitioning: секционирование таблиц для больших данных

Когда таблица перерастает 100 миллионов строк, привычные операции начинают деградировать. VACUUM работает часами, индексы раздуваются до десятков гигабайт, а удаление старых данных превращается в…

0 12K
Игорь Беляев

PostgreSQL logical replication: настройка, мониторинг и подводные камни

Логическая репликация в PostgreSQL — механизм выборочного копирования данных между серверами на уровне отдельных таблиц. В отличие от физической репликации, которая передаёт WAL-сегменты целиком,…

0 15K
Игорь Беляев

PostgreSQL VACUUM: как работает автовакуум и когда настраивать вручную

PostgreSQL не удаляет строки физически. При UPDATE или DELETE старая версия строки (dead tuple) остаётся на диске — она нужна для MVCC, чтобы параллельные транзакции видели консистентные данные. Но…

0 11K
Игорь Беляев

Go embed: встраиваем файлы в бинарник — статика, шаблоны, миграции

Деплой Go-сервиса — это один бинарник. Никаких зависимостей, никакого рантайма. Но что делать со статикой, шаблонами и SQL-миграциями? Раньше приходилось таскать файлы рядом с бинарником или…

0 12K
Игорь Беляев

Go sync.Map vs RWMutex: когда какой примитив синхронизации выбрать

Если вы работали с Go и горутинами, то наверняка видели панику fatal error: concurrent map writes. Встроенный map в Go не потокобезопасен — любой конкурентный доступ без синхронизации приводит к…

0 13K
Игорь Беляев

pg_stat_statements: находим и оптимизируем медленные запросы в PostgreSQL

Логи медленных запросов — это хорошо, но они показывают только то, что уже взорвалось. А что если нужно найти запросы, которые по отдельности быстрые, но вызываются 100 000 раз в минуту и суммарно…

0 11K
Игорь Беляев

PostgreSQL индексы: B-tree, GIN, GiST — когда какой использовать

Вы создали таблицу, написали запрос, он работает — но медленно. Первое, что приходит в голову — «надо добавить индекс». Но какой именно? PostgreSQL предлагает несколько типов индексов, и выбор…

0 10K
Игорь Беляев

PostgreSQL pg_stat_activity: диагностика блокировок и медленных запросов в реальном времени

Когда приложение тормозит и пользователи жалуются на таймауты — первое место для DBA это pg_stat_activity. Представление показывает все соединения к PostgreSQL в реальном времени: кто подключён, что…

0 16K
Игорь Беляев

EXPLAIN ANALYZE в PostgreSQL: читаем план запроса как профи

Запрос тормозит, но вы не знаете почему. Добавить индекс наугад? Переписать JOIN? Всё это гадание, пока вы не посмотрели план выполнения. EXPLAIN ANALYZE — рентген для SQL: показывает, что…

0 16K
Игорь Беляев