title

text

Иван Картышов
Иван Картышов Postgres Professional Разработчик ядра
Дмитрий Иванов
Дмитрий Иванов Postgres Professional Developer
: декабря
22 мин

Басня про тестирование и postgres

Однажды вот Питон и Слон
Вести тестирование взялись.
И вместе все в него впряглись!

В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.

В данном докладе мы расскажем о фреймворке testgres, написанном на Python, который уже позволил решить множество проблем и протестировать функциональность, которую нельзя так просто покрыть прямолинейными регрессионными тестами.

Вы узнаете, как при помощи нескольких строчек кода запускать узлы PostgreSQL, настраивать всевозможную репликацию и создавать бекапы, меняя параметры на лету, и про многое другое. Также мы расскажем, как эти возможности позволяют нам проверять "самые труднодоступные места" и улучшать качество наших продуктов.

Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.

Слайды

Видео

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

  • Eren Basak
    Eren Basak Citus Data Software Development Engineer
    45 мин

    Использование PITR в распределенных cистемах на базе PostgreSQL

    В Postgres есть возможность восстановления данных на момент времени (PITR), которая позволяет нам "отправляться" в прошлое. В этом докладе мы обсудим, какие существуют основные сценарии использования этой функциональности, как подготовить базу данных к восстановлению на момент времени, настроив хорошую систему бэкапов и транcляции WAL-файлов, а также рассмотрим конкретные примеры. Мы подробнее остановимся на том, как применять PITR на распределенных системах и кластерах с шардингом, затронув типичные проблемы подобных конфигураций, такие как разница во времени, и предложим возможные способы их решения - например, двухфазный коммит и pg_create_restore_point.

  • Федор Сигаев
    Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
    Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Что нам ждать в PG 11?

    10-я версия получилась богатой на новые фичи, но что же нас ожидает в новой 11 версии?

    Мы расскажем последние новости из мира разработчиков постгреса, а именно: новые фичи, улучшения и развитие старых, прорывные разработки. Не все из них видны простому пользователю, но мы постараемся представить разработки ядра постгреса в простом и доступном виде.

  • Сергей Стариков
    Сергей Стариков Кнопка Системный администратор
    Константин Хомяков
    Константин Хомяков Кнопка Системный администратор
    45 мин

    Как перестать бояться стереотипов при выборе СУБД для 1С

    Кнопка, крупнейший аутсорсинг бухгалтерии, расскажет о своем опыте перевода 500Gb баз 1С Fresh на PostgreSQL. В докладе затронуты темы выбора СУБД и борьбу со стереотипами, с чего мы начали и как развивали использование PostgreSQL, подходы к резервированию и восстановлению ИБ, наши текущие показатели работы СУБД и 1С, взгляд в будущее. Поделимся, почему мы считаем, что 1С+PostgreSQL это просто, надежно и быстро.

  • Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Подключаемые хранилища

    Тема подключаемых хранилищ для PostgreSQL стала уже притчей во языцех. Период споров о том, нужны ли подключаемые хранилища, или нет закончился. Позиции скептиков, говорящих, что подключаемые хранилища не нужны, поскольку являются источником неконсистентного поведения СУБД, заметно ослабли после критики реализации MVCC в PostgreSQL со стороны Uber'а. Стало понятно, что подключаемые хранилища нужны как-минимум для альтернативной реализации MVCC через undo-лог, и это стало одним из ориентиров для проектирования интерфейса.

    На текущий момент работа над подключаемыми хранилищами перешла в практическую плоскость: ведётся тред, в котором несколько человек разрабатывают набор патчей, и ещё больше делают ревью.

    В данном докладе будут рассмотрены следующие вопросы:

    • обзор получившегося интерфейса для подключаемых хранилищ;
    • изменения в ядре PostgreSQL, которые потребовались для реализации данного интерфейса;
    • текущие и потенциальные применения данного интерфейса, включая heap с undo-логом и in-memory OLTP движок;
    • текущее состояние патчей и перспектива их принятия в ядро;
    • дальнейшее развитие интерфейса с целю расширения возможностей подключаемых хранилищ (columnar, index-organized, LSM и т.д.).