Кладбище забытых индексов
История о поиске неиспользуемых индексов через pg_stat_user_indexes и аккуратном освобождении дискового места в PostgreSQL.
Читать материалХудожественно-обучающие истории по PostgreSQL: реальные ситуации, SQL и разбор решений.
История о поиске неиспользуемых индексов через pg_stat_user_indexes и аккуратном освобождении дискового места в PostgreSQL.
Читать материалИстория о том, почему периодические джобы теряют строки на границах интервала и чем now() отличается от clock_timestamp() в PostgreSQL.
Читать материалИстория о случайном DELETE, пользе CTAS-бэкапов, soft-delete и аудита данных перед рискованными изменениями в PostgreSQL.
Читать материалИстория о том, как замена большого B-tree индекса на BRIN помогла быстро освободить место на диске PostgreSQL.
Читать материалКак частые изменения раздувают индексы PostgreSQL, когда помогает REINDEX CONCURRENTLY и какие ресурсы нужны для перестроения.
Читать материалИстория о кандидате, который доверил SQL нейросети и не заметил, что ответ перестал соответствовать показанному DDL.
Читать материалИстория о фазах конкурентного создания индекса, старых транзакциях и INVALID-индексе после прерванной операции.
Читать материалКак транзакционная advisory lock и повторная проверка кэша позволяют одному процессу выполнить тяжёлый расчёт, пока остальные ждут результат.
Читать материалКак диагностировать длинный динамический SQL через временное логирование для отдельной роли, если pg_stat_activity уже обрезал текст.
Читать материалПрактика быстрой загрузки PostgreSQL через COPY, осознанной работы с индексами и триггерами и обязательного ANALYZE.
Читать материалКак перенести небольшой объём нужных данных в новую таблицу вместо массового DELETE и какие зависимости проверить перед переключением.
Читать материалЧем GENERATED AS IDENTITY отличается от serial, как режим ALWAYS защищает от случайной ручной вставки и где остаётся риск рассинхронизации sequence.
Читать материалИстория о выборе ключа партиционирования, глобальной уникальности и проверке реальных запросов до миграции большой таблицы.
Читать материалПочему надёжная система должна не только обнаруживать сбои, но и идемпотентно восстанавливать незавершённую обработку.
Читать материалИстория о предварительном SELECT, резервной копии и проверке выборки перед необратимым удалением данных.
Читать материалИстория о компактном partial index для редкого активного статуса в таблице с сотнями миллионов завершённых операций.
Читать материалКак провести разбор инцидента без охоты на виноватых и превратить цепочку причин в конкретные улучшения системы.
Читать материалИстория о разделении исторических и оперативных данных между двумя materialized view и аккуратном объединении результатов.
Читать материалКак несколько воркеров могут безопасно разбирать очередь PostgreSQL с FOR UPDATE SKIP LOCKED и когда лучше использовать lease-поля.
Читать материалРабочая история о том, как разбивать скучные задачи на короткие интервалы, замечать отвлечения и поддерживать видимый прогресс.
Читать материалИстория о релизной гонке, техническом долге и простых правилах, которые помогают команде не выбирать между сроками и надёжностью вслепую.
Читать материалИстория о блокировках обычного REFRESH MATERIALIZED VIEW и требованиях к безопасному обновлению с CONCURRENTLY.
Читать материалПрактический сценарий добавления и заполнения обязательного столбца в большой таблице PostgreSQL без одной гигантской транзакции.
Читать материалПочему UPDATE и обычный VACUUM не уменьшают файл таблицы PostgreSQL и как безопасно вернуть дисковое пространство системе.
Читать материалИстория о том, как забытые транзакции удерживают старые версии строк, мешают VACUUM и замедляют вставку данных.
Читать материал