title

text

Владимир Ситников
Владимир Ситников PostgreSQL JDBC maintainer Performance Engineer
15:00 09 апреля
40 мин

Механизм server-prepared statements в реализации PostgreSQL JDBC

Доклад о базовых принципах serever-prepared statements, и о фактической реализации в PostgreSQL JDBC. Планируется рассмотреть как базовые механизмы, так и краевые случаи.

Примерный список тем:

1) Как задействовать server-prepared statements
2) Какие настройки влияют на server-prepared
3) server-prepared vs batch execution
4) server-prepared vs concurrent executions (несолько разных подключений)
5) server-prepared vs connection poolers
6) Как понять, что server-prepared не работает
7) binary/text parameter/result encoding
8) server-prepared vs типы данных (грубо говоря, timestamptz vs timestamp vs text encoding)

Слайды

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

Видео

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

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

  • Павел Конотопов
    Павел Конотопов Postgres Professional руководитель кластерной группы
    40 мин

    Слон и Моська. Проблема фенсинга в кластерах PostgreSQL

    Довольно часто в кластерных конфигурациях PostgreSQL можно встретить настройку, отвечающую за ввод отказавшего ведущего сервера обратно в кластер в качестве реплики. Утилита pg_rewind выполнит синхронизацию данных между двумя серверами. Она копирует изменения из WAL-файлов основного сервера, которые не применялись на отстающем сервере (бывшем мастере). Однако без механизма fencing существует риск потери данных, если оба сервера (старый мастер и новый мастер) активны одновременно и оба принимают изменения данных. Эта ситуация называется split-brain, возникновение ее катастрофично для целостности данных. Поговорим о том, как минимизировать риски потери данных, какие есть варианты fencing-а, какие практики стоит использовать и в каких ситуациях.

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

    Историко-статистический взгляд на сообщество PostgreSQL

    В первой части своего доклада расскажу о некоторых моментах из истории PostgreSQL-сообщества (например, про русского Слоника на логотипе).

    А во второй части покажу интересную статистику про сообщество и расскажу (используя информацию о коммитах в GIT и с сайта commitfest.postgresql.org) сколько патчей предлагается на коммитфестах и сколько из них принимается; в какие дни недели и в какое время происходит фиксация патчей; кто из авторов патчей являются самыми активными; и наглядно посмотрим на некоторые из интересных тенденций развития сообщества.

  • Александр Попов
    Александр Попов Postgres Professional Инженер
    20 мин

    pgpro_redefinition - расширение для онлайн манипуляций с большими таблицами

    Рассказ про расширение для перестройки больших таблиц без блокировок (почти)

    pgpro_redefinition - новое расширение, которое позволяет перестраивать таблицы без остановки приложения. Например секционировать большую таблицу, добавить колонку с default значением, разбить таблицу на 2 таблицы и даже создать копию таблицы на другом сервере СУБД.

  • Андрей Черняков
    Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
    40 мин

    pg_migration - система работы с кодом, как не дать программистам все сломать

    Мы долгое время катили релизы на базы данных руками. Но когда их количество стало больше 50, выкладывать релизы руками стало больно, даже при наличии скриптов. Стало понятно, что нужен какой-то инструмент. Так как готовые инструменты нам не подошли, мы решили написать свою систему на основе пайплайнов ci/cd в gitlab.

    В результате получилась удобная система работы с кодом: - автоматические проверки практически не дают сделать что-то не правильно (plpgsql_check, авто-тесты и т.д.) - исключается возможность расхождения кода в живой БД и в репозитории - включает в себя несколько утилит (написанных на python), которые можно использовать как в пайплайнах, так и непосредственно из консоли - поддерживаются два режима раскатки релизов: по кнопке из gitlab и полностью автоматический (по ключевому слову auto_deploy в сообщении к коммиту)