Autovacuum. Вредные советы
В архитектуре PostgreSQL есть ряд особенностей, которые стоит учитывать не только при эксплуатации БД, но и в процессе проектирования схемы данных. Опытным пользователям PostgreSQL хорошо известен такой механизм как очистка/заморозка(vacuum). На просторах интернета есть большое количество материалов на тему внутреннего устройства, настройки и мониторинга. Множество полезных докладов было сделано на конференциях. Тем не менее, все еще происходят случаи переполнения счетчика транзакций(xid), казалось бы, в достаточно небольших БД. В этом докладе я расскажу об одном интересном, на мой взгляд, случае у нашего клиента. Поделюсь тем, как череда ошибок на разных этапах жизненного цикла БД, однажды привела к ее полной остановке более чем на неделю, wraparound-у, битым блокам, проблемам с обслуживанием и бессонным ночам в поисках решения. Локальная победа была достигнута - БД удалось восстановить, но история еще не закончена. Тем она и интересна.
Слайды
Видео
Другие доклады
-
Алексей Борщев Postgres Professional Инженер
NULLs в Postgres
Доклад посвящён реализации специального значения NULL в бд PostgreSQL: * Что такое NULL? * Как он обрабатывается различными функциями? * Как хранится в БД? * Индексирование NULL
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
Сборка plv8: от архива с бинарниками до компактного докер-образа
Расширение plv8 очень недооценено, хотя оно позволяет значительно упростить разработку для ряда задач. Уже год как мы используем его в наших проектах. Но главная причина низкой популярности – сложность сборки расширения, к тому же требующей много трафика и места на диске для временных файлов. Поэтому мы решили собирать plv8 сами и поставлять готовые бинарники (не только поставлять нашим заказчикам, а вообще выложить в открытый доступ). Сначала просто выложили бинарные файлы на github. Потом сделали докер-образ Postgres с уже установленным plv8 на основе Debian. Образ получился тяжеловатым, поэтому стали смотреть в сторону alpine, но сборка под alpine оказалась сложнее, чем мы предполагали. Я расскажу, с какими трудностями мы столкнулись и как их преодолели. Так же кратко расскажу, для каких задач хорошо подходит plv8 и как сделать процесс разработки удобнее. И, конечно, поделюсь ссылками на наши докер-образы для последних версий Postgres 13 и 14, действительно компактные и открытые для любого использования.
-
Павел Лузанов Postgres Professional Руководитель образовательных программ
PostgreSQL 15: MERGE и другие
Заморозка кода 15-й версии была в апреле, первая бета-версия PostgreSQL 15 уже доступна. Кратко расскажу о самых интересных новинках версии. В том числе о MERGE, команде с не простой историей реализации.
-
Андрей Бородин Яндекс Разработчик
Работа с кодом PostgreSQL
Лет 7 назад я пришёл от разработки под Windows к непреодолимому желанию дописать некоторые части PostgreSQL. В этом докладе я бы хотел рассказать о деталях вещей, которые были мне не очевидны, когда я начал работать с исходным кодом, системой сборки и тестирования PG. Я собираюсь говорить о самых простых вопросах - рутинные задачи IDE, навигация, сборка и всё такое. И совсем не претендую на какой-то истинный путь. Возможно, что-то покажется совсем проблемами чайников :) Я был бы рад, если бы другие разработчики тоже поделились секретами своего разработческого быта. Можем устроить обсуждение grep vs IDE :)