title

text

Павел Толмачев
Павел Толмачев Postgres Professional Специалист образовательного отдела
: декабря
45 мин

Коллапс в планах запросов. Достигаем и управляем

Чем больше таблиц участвует в запросе, тем сложнее планировщику выбрать подходящий план выполнения (увеличивается время и используемая память). Как бы подсказать планировщику, что лучше эту пару таблиц соединить первой, а остальные - потом? Как поступить, если видно, что часть запроса можно улучшить, но оптимизатор этого не делает? В докладе я расскажу про управление порядком соединений - вы узнаете, как можно повлиять на формирование плана запроса стандартными способами "ванильного" PostgreSQL.

Слайды

Толмачев.odp

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Андрей Бородин
    Андрей Бородин Яндекс Разработчик
    Александр Каленик
    Александр Каленик Kontur Software Engineer
    22 мин

    Как мы ускорили GiST. Новости PostGIS 3.2

    В докладе я расскажу о новом методе для быстрого создания GiST индекса в PostgreSQL 14, какие проблемы были выявлены при добавление поддержки нового метода в PostGIS и как они будут решены в будущем. Так же в докладе будет обзор нововведений PostGIS 3.2.

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    Сборка plv8: от архива с бинарниками до компактного докер-образа

    Расширение plv8 очень недооценено, хотя оно позволяет значительно упростить разработку для ряда задач. Уже год как мы используем его в наших проектах. Но главная причина низкой популярности – сложность сборки расширения, к тому же требующей много трафика и места на диске для временных файлов. Поэтому мы решили собирать plv8 сами и поставлять готовые бинарники (не только поставлять нашим заказчикам, а вообще выложить в открытый доступ). Сначала просто выложили бинарные файлы на github. Потом сделали докер-образ Postgres с уже установленным plv8 на основе Debian. Образ получился тяжеловатым, поэтому стали смотреть в сторону alpine, но сборка под alpine оказалась сложнее, чем мы предполагали. Я расскажу, с какими трудностями мы столкнулись и как их преодолели. Так же кратко расскажу, для каких задач хорошо подходит plv8 и как сделать процесс разработки удобнее. И, конечно, поделюсь ссылками на наши докер-образы для последних версий Postgres 13 и 14, действительно компактные и открытые для любого использования.

  • Вадим Яценко
    Вадим Яценко Tantor Lab Генеральный директор
    45 мин

    Autovacuum. Вредные советы

    В архитектуре PostgreSQL есть ряд особенностей, которые стоит учитывать не только при эксплуатации БД, но и в процессе проектирования схемы данных. Опытным пользователям PostgreSQL хорошо известен такой механизм как очистка/заморозка(vacuum). На просторах интернета есть большое количество материалов на тему внутреннего устройства, настройки и мониторинга. Множество полезных докладов было сделано на конференциях. Тем не менее, все еще происходят случаи переполнения счетчика транзакций(xid), казалось бы, в достаточно небольших БД. В этом докладе я расскажу об одном интересном, на мой взгляд, случае у нашего клиента. Поделюсь тем, как череда ошибок на разных этапах жизненного цикла БД, однажды привела к ее полной остановке более чем на неделю, wraparound-у, битым блокам, проблемам с обслуживанием и бессонным ночам в поисках решения. Локальная победа была достигнута - БД удалось восстановить, но история еще не закончена. Тем она и интересна.

  • Андрей Бородин
    Андрей Бородин Яндекс Разработчик
    45 мин

    Работа с кодом PostgreSQL

    Лет 7 назад я пришёл от разработки под Windows к непреодолимому желанию дописать некоторые части PostgreSQL. В этом докладе я бы хотел рассказать о деталях вещей, которые были мне не очевидны, когда я начал работать с исходным кодом, системой сборки и тестирования PG. Я собираюсь говорить о самых простых вопросах - рутинные задачи IDE, навигация, сборка и всё такое. И совсем не претендую на какой-то истинный путь. Возможно, что-то покажется совсем проблемами чайников :) Я был бы рад, если бы другие разработчики тоже поделились секретами своего разработческого быта. Можем устроить обсуждение grep vs IDE :)