Продвинутые техники pg_upgrade
На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.
Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.
Список подтем доклада приведён ниже:
- Как работает pg_upgrade? Общая картина
- О pg_upgrade (вызов из командной строки)
- аргументы и опции
- Пошаговое выполнение обновления
- О репликации на основе РОЛИ
- с атрибутом REPLICATION
- с атрибутом LOGIN
- Опции для обновления: копирование или жёсткие ссылки?
- Что делать после обновления?
- о производительности
- об анализе
- о команде REPACK
- о переиндексации
- Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
- Обновляем РЕПЛИКУ
- Метод по умолчанию: pg_basebackup
- Продвинутый метод:
- - используем rsync
предупреждение: закольцовка vacuum
Видео
Другие доклады
-
Álvaro Hernández OnGres Founder
Как преобразовать Postgres в облачную платформу
Сводится ли развёртывание Postgres на Kubernetes к простой перераспаковке в контейнере? Или Postgres может использовать другой cloud-native софт для более качественной интеграции с K8s? Мы поговорим об этом на данном мастер-классе и продемонстрируем несколько примеров на StackGres:
- Как преобразовать Postgres в контейнер без инициализации с несколькими контейнерами-"прицепами" для создания пула соединений, резервного копирования, агентов и т.п.
- Определение высокоуровневых CRD в качестве единого API для взаимодействия с Postgres оператором.
- Использование авторизации на основе K8s RBAC для аутентификации пользователя веб-интерфейса управления.
- Использование Prometheus для мониторинга; сборка узла, использование экспортёров и Postgres, и PgBouncer.
- Проксирование трафика Postgres traffic через Envoy. Завершение работы Postgres SSL с помощью плагина Envoy, который также экспортирует метрики "проводного" протокола в Prometheus.
- Использование Fluentbit для сбора логов Postgres и их пересылки в Fluentd, который хранит их в централизованной постгрессовой базе данных.
Во время мастер-класса вы сможете повторить все действия на собственном Kubernetes-кластере и с лёгкостью пройти путь от новичка до профи в Postgres на Kubernetes! Вы сможете создавать собственный Postgres-as-a-Service на Kubernetes всего за несколько минут!
-
Дмитрий Долгов Zalando SE Senior Software Engineer
Сколько нужно инженеров, чтобы скобки заработали?
Недавно появившийся в PostgreSQL, jsonb subscripting не выглядит так же захватывающе, как другие улучшения в jsonb. Но те изменения, которые видны пользователю - всего лишь верхушка айсберга. Как много людей было вовлечено в разработку, и какие решения были сделаны в дизайне? Как много времени это заняло, и какие хорошие/плохие идеи существуют для продвижения патча? Эти и несколько других вопросов будут целью это презентации.
-
Николай Самохвалов Nombox LLC Основатель
Автоматическое тестирование изменений БД (DDL, DML)
В высоконагруженном проекте любое изменение несёт в себе заметные риски сбоя или деградации производительности. Мы видим, как растёт сложность систем, количество серверов БД, релизов в неделю, автоматизация всего и вся в CI/CD pipelines, контейнерах, Kubernetes.
Но вот когда речь заходит о тестировании изменений в БД — от банального добавления индекса до сложных, почти «хирургических» операций вроде замены в первичного ключа int4 на int8 в многотерабайтной таблице под нагрузкой — тут налицо отставание технологий и методологий. В лучшем случае изменения проверяются визуально, и тут уж всё зависит от опыта и усталости проверяющего.
В докладе мы расскажем как мы (Postgres.ai) закрываем этот вопрос с помощью нашего решения Database Lab:
- моментальная выдача независимых тонких клонов для многотерабайтных БД, готовых к проверкам,
- интеграция в существующие CI/CD-инструменты и рабочий процесс,
- сбор метрик, наиболее важных для принятия решения об одобрении/отклонении изменения (и даже автоматическое отклонения совсем опасных действий).
-
Simon Riggs Enterprise DB Эксперт по PostgreSQL, ответственный за стратегическое развитие и технические коммуникации
PostgreSQL и стандарты SQL
PostgreSQL - одна из СУБД, в наибольшей степени соответствующая стандартам. В этом докладе будет рассмотрено влияние Постгреса на стандарт SQL и фичи из стандарта, которые были релизованы в Постгресе, в том числе фичи, планирующиеся в 14й и последующих версиях.