Продвинутые техники pg_upgrade
На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.
Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.
Список подтем доклада приведён ниже:
- Как работает pg_upgrade? Общая картина
- О pg_upgrade (вызов из командной строки)
- аргументы и опции
- Пошаговое выполнение обновления
- О репликации на основе РОЛИ
- с атрибутом REPLICATION
- с атрибутом LOGIN
- Опции для обновления: копирование или жёсткие ссылки?
- Что делать после обновления?
- о производительности
- об анализе
- о команде REPACK
- о переиндексации
- Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
- Обновляем РЕПЛИКУ
- Метод по умолчанию: pg_basebackup
- Продвинутый метод:
- - используем rsync
предупреждение: закольцовка vacuum
Видео
Другие доклады
-
Константин Евтеев X5 FoodTech Главный архитектор
Формирование отчетов и аналитики в реальном времени с PostgreSQL.
В современном мире операционная отчетность и аналитика в реальном времени становятся базовой потребностью. Существует огромное количество инструментов, практик и подходов, которые в свою очередь требуют различной экспертизы и ресурсов. В рамках данного выступления расскажу, как может происходить развитие с помощью PostgreSQL. Подводные камни при использовании различных схем. Поговорим про вопросы качества данных и производительности. Доклад будет интересен как тем, кто находится на начальном этапе, так и для практиков с многолетним опытом (буду рад горячим обсуждениям и вопросам после доклада) План доклада: 1. Эволюция построения отчетности - миграция с OLTP на OLAP. 2. Вызовы организации доставки данных в DWH. 3. Масштабирование архитектуры с ростом данных. 4. Вопросы качества данных. 5. Сохранение стабильности при большом кол-ве изменений. 6. Различные подходы по организации работ команды DWH. 7. И конечно же успешно решенные нами вызовы (pgAgent, PGWatch, работа с фс, новое прочтение postgresql.conf).
-
Николай Самохвалов Nombox LLC Основатель
Бесшовная оптимизация запросов PostgreSQL, версия 2.0
Существует два способа анализировать SQL-запросы:
На макроуровне: в этом случае мы анализируем рабочую нагрузку как единое целое (есть три основных подхода: использование метрик из pg_stat_statements или аналогичного модуля, анализ логов с помощью pgBadger или другого похожего решения и запрос выборки в представлении pg_stat_activity).
На микроуровне: в этом случае мы погружаемся в детали исполнения одного конкретного запроса (тут главную роль играет команда EXPLAIN).
Между этими двумя подходами есть немало "белых пятен", которые обнаруживаются с ростом нагрузки. Главные проблемы:
- Нужно переключаться между макро- и микроуровнем без больших накладных расходов.
- Требуется надёжная проверка гипотез относительно возможных оптимизаций.
- Есть необходимость минимизации рисков при развёртывании новой функциональности.
Чтобы справляться с этими задачами в растущем проекте, требуется продвинутый опыт в качестве администратора баз данных, и – иногда – интуиция. Также могут помочь новые инструменты, которые (к счастью для нас!) не так давно начали появляться.
В рамках данного мастер-класса мы разберёмся, как можно настроить процесс беспроблемной и бесшовной оптимизации SQL-запросов в вашей организации: а) какие инструменты следует выбрать в вашем конкретном случае? б) как эффективно заполнить вышеупомянутые пробелы в сфере анализа запросов?
-
Ibrar Ahmed Percona LLC Senior Database Architect
Всё о безопасности PostgreSQL
В PostgreSQL реализованы различные уровни безопасности. Данный доклад посвящен всем доступным техникам обеспечения безопасности, используемым в PostgreSQL 13. Мы разберём, как обеспечить безопасность на стороне клиента (LibPq, JDBC) и на стороне сервера. В нем будут затронуты все поддерживаемые методы аутентификации, а также плюсы и минусы всех этих методов. Ниже приведены некоторые подтемы данного доклада:
- Введение в криптографию.
- SSL, TLS, GSSAPI и OpenSSL.
- Шифрование на стороне клиента.
- Обеспечение безопасной аутентификации.
- Защита данных на диске.
- Безопасность резервного копирования и базового резервного копирования.
- Обеспечение безопасности репликации.
- Роли и привилегии внутри базы данных.
Важно знать обо всех уровнях обеспечения безопасности, включая (1) безопасность на уровне сети (2) на уровне диска (3) на уровне строки, (4), на уровне столбца. В этом докладе мы поговорим обо всех вышеперечисленных аспектах обеспечения безопасности, а также обсудим конкретные кейсы и приведём несколько примеров из реальной практики.
-
Daniele Varrazzo Codice Lieve Директор
Python для PostgreSQL: как его использовать и преуспеть в этом?
В рамках данного мастер-класса мы посмотрим, как обеспечить бесперебойную связь между Python и PostgreSQL. На практических примерах мы разберём, как подключиться к серверу, обеспечить обмен данными, управлять уведомлениями и транзакциями, передавая параметры безопасно и в понятной форме.
Мы рассмотрим psycopg2, наиболее часто используемую библиотеку-адаптер PostgreSQL для Python, а также анонсируем предстоящий релиз psycopg3: что останется прежним, что изменится, как лучше реализовать программу на Python, чтобы использовать PostgreSQL по максимуму.