Продвинутые техники pg_upgrade
На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.
Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.
Список подтем доклада приведён ниже:
- Как работает pg_upgrade? Общая картина
- О pg_upgrade (вызов из командной строки)
- аргументы и опции
- Пошаговое выполнение обновления
- О репликации на основе РОЛИ
- с атрибутом REPLICATION
- с атрибутом LOGIN
- Опции для обновления: копирование или жёсткие ссылки?
- Что делать после обновления?
- о производительности
- об анализе
- о команде REPACK
- о переиндексации
- Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
- Обновляем РЕПЛИКУ
- Метод по умолчанию: pg_basebackup
- Продвинутый метод:
- - используем rsync
предупреждение: закольцовка vacuum
Видео
Другие доклады
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
Multicorn Foreign Data Wrapper против plpython
Технология Multicorn позволяет разрабатывать FDW на языке Python, что гораздо проще и быстрее создания FDW на языке C. Однако есть и обратная сторона, Multicorn FDW хорошо работают с примитивными условиями WHERE, но на чуть более сложных случаях возникают трудности, про которые я расскажу. Случаи будут рассмотрены на примере моего Multicorn FDW для получения данных OpenStreetMap. Так же я покажу примеры использования одного и того же кода в Multicorn FDW и функции на plpython, в том числе сравнение производительности. В заключение поделюсь своими выводами, когда лучше использовать plpython, а когда Multicorn FDW.
-
Daniele Varrazzo Codice Lieve Директор
psycopg3: как Питон полюбил Постгрес
На сегодняшний день Python является одним из наиболее часто используемых языков программирования в мире. Он прост в изучении и использовании и легко совместим с любыми известными сервисами и протоколами. psycopg2 - наиболее часто используемый драйвер PostgreSQL для Python: он обеспечивает хорошую производительность и делает взаимодействие между ЯП и СУБД максимально удобным.
За последние годы Python существенно изменился, и его первоклассная поддержка асинхронного программирования меняет способ написания новых программ. В PostgreSQL также было внесено множество изменений, поэтому требуется новое поколение драйвера, который позволит питонистам использовать все возможности Postgres по максимуму.
psycopg3 - это новое поколение наиболее часто используемой библиотеки-адаптера Python-PostgreSQL: она предлагает знакомый интерфейс и удобный процесс обновления, кроме того, она спроектирована для получения максимальной производительности от базы данных и ЯП: она поддерживает асинхронное программирование, связываемые переменные (prepared statements), двоичные параметры.
psycopg3 также экспериментирует с инновационной поддержкой JSONB и конвейерной обработкой запросов! Приходите и узнайте, что нового происходит на стыке вашего любимого языка программирования и базы данных!
-
Julien Rouhaud Разработчик
Как перестать бояться обновлений glibc
PostgreSQL использует системные библиотеки правил сортировки, например, glibc или ICU, для расположения текста в определённом порядке. Общеизвестно, что необходимо принять меры предосторожности на случай, если библиотека изменит порядок сортировки для какого-либо правила. Любой индекс, который использовал старый порядок, вероятно, будет повреждён после установки новой версии библиотеки.
В данном докладе мы рассмотрим улучшения, которые войдут в PostgreSQL 14 и помогут отслеживать версии правил сортировки, обнаруживать и устранять возможные повреждения индексов, вызванные обновлением библиотек. Мы также обсудим работу, которая выполняется сейчас в целях дальнейшего улучшения этого процесса.
-
Ibrar Ahmed Percona LLC Senior Database Architect
Всё о безопасности PostgreSQL
В PostgreSQL реализованы различные уровни безопасности. Данный доклад посвящен всем доступным техникам обеспечения безопасности, используемым в PostgreSQL 13. Мы разберём, как обеспечить безопасность на стороне клиента (LibPq, JDBC) и на стороне сервера. В нем будут затронуты все поддерживаемые методы аутентификации, а также плюсы и минусы всех этих методов. Ниже приведены некоторые подтемы данного доклада:
- Введение в криптографию.
- SSL, TLS, GSSAPI и OpenSSL.
- Шифрование на стороне клиента.
- Обеспечение безопасной аутентификации.
- Защита данных на диске.
- Безопасность резервного копирования и базового резервного копирования.
- Обеспечение безопасности репликации.
- Роли и привилегии внутри базы данных.
Важно знать обо всех уровнях обеспечения безопасности, включая (1) безопасность на уровне сети (2) на уровне диска (3) на уровне строки, (4), на уровне столбца. В этом докладе мы поговорим обо всех вышеперечисленных аспектах обеспечения безопасности, а также обсудим конкретные кейсы и приведём несколько примеров из реальной практики.