Классическая задача: посчитать долю каждой строки от общего итога, не теряя детализацию.
Через подзапросы получается громоздко, через OVER() — в одну строку.
Разбираю на примерах, чем отличаются ROWS и RANGE, и почему
второй иногда молча даёт не тот результат, которого ждёшь.
Любой регулярный джоб рано или поздно перезапустят — руками, ретраем или бэкфиллом.
Если таск не идемпотентен, данные задваиваются тихо и всплывают через месяц в отчёте.
Простое правило: сначала удаляем партицию, потом пишем. Дороже на пару секунд, дешевле на неделю разбирательств.
Собрал у себя статистику по pg_stat_user_indexes и обнаружил, что треть индексов
не прочитана ни разу за полгода. Каждый из них при этом честно замедляет вставку и занимает диск.
Заметка о том, как найти такие и не удалить лишнего.
Проверил логи открытий: из сорока с лишним дашбордов регулярно смотрят шесть.
Остальные делались «на всякий случай» и теперь просто просят внимания при каждом изменении витрины.
Немного о том, почему удалять отчёты полезнее, чем добавлять новые.
Год назад поднял маленький сервер под домашние сервисы: бэкапы, DNS с фильтрацией рекламы,
пара пет-проектов. Подвожу итоги — что реально пригодилось, что простаивает,
и почему мониторинг стоит настраивать до того, как что-то упадёт, а не после.