• Кластер pacemaker/corosync без валидола

      Представьте ситуацию. Субботний вечер. Вы — администратор PostgreSQL, после тяжелой трудовой недели уехали на дачу за 200 км от любимой работы и чувствуете себя прекрасно… Пока Ваш покой не нарушает смс от системы мониторинга Zabbix. Произошел сбой на сервере СУБД, база данных с текущего момента недоступна. На решение проблемы отводится короткое время. И Вам ничего не остается, как с тяжелым сердцем оседлать служебный гироскутер и мчаться на работу. Увы!


      А ведь могло быть по-другому. Вам приходит смс от системы мониторинга, что произошел сбой на одном из серверов. Но СУБД продолжает работать, поскольку отказоустойчивый кластер PostgreSQL отработал потерю одного узла и продолжает функционировать. Нет надобности срочно ехать на работу и восстанавливать сервер БД. Выяснение причин сбоя и работы по восстановлению спокойно переносятся на рабочий понедельник.

      Как бы то ни было, стоит подумать о технологиях отказоустойчивы кластеров с СУБД PostgreSQL. Мы расскажем о построении отказоустойчивого кластера СУБД PostgreSQL с помощью программного обеспечения Pacemaker&Corosync.

      Читать дальше →
    • Дайджест новостей из мира PostgreSQL. Выпуск №6

        Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

        Релизы


        PostgreSQL 11 Beta
        Релизная команда PostgreSQL определилась с датой выпуска бета-версии: 24 мая 2018.

        Вышел PostgreSQL 10.4

        В отличие от версии 10.3, которая была внеплановой (нужно было срочно закрыть важные дыры в безопасности), эта версия вышла в соответствии с графиком.
        В новой версии много поправок. Из заплаток, привлекших внимание: излишне либеральный доступ (ACL) к функции pg_logfile_rotate(); ослаблены блокировки во время планирования фоновых процессов автовакуума, которые сильно мешали распараллельнию работы. Вместе с 10.4 вышли обновления 9.6.9, 9.5.13, 9.4.18, 9.3.23.

        Читать дальше →
      • Дайджест новостей из мира PostgreSQL. Выпуск №5



          Feature freeze


          Это, конечно, главное событие для сообщества. То, что не прошло только что закончившийся комитфест, не попадет в версию PostgreSQL 11.

          Что заморозили на feature freeze
          Это наша сводка попавших в нее важнейших патчей.
          Сводка сводкой, а статьи об PostgreSQL 11 уже начали появляться. А дальше — больше.

          Waiting for PostgreSQL 11 – Transforms for jsonb to PL/Python and to PL/Perl
          Депеш, то есть Хуберт 'depesz' Любашевски, пишет в своем блоге о 2 соответствующих патчах Антона Быкова из Postgres Professional.

          Postgres 11 highlight — Covering Indexes
          В своем блоге Мишель Пакье (Michael Paquier) пишет о покрывающих индексах (см также статью Что нового в PostgreSQL 11: INCLUDE-индексы Александра Алексеева из Postgres Professional и комментарии к ней). На эту же тему — INCLUDE-индексов — статья Waiting for PostgreSQL 11: Covering + unique indexes Алексея Лесковского из Data Egret.

          Partition Elimination in PostgreSQL 11
          По поводу этого серьезного достижения 11-й версии пишет в своей статье Дэвид Роули (David Rowley) из 2ndQuadrant.

          Об еще одном патче, прошедшем в PostgreSQL 11, пишет в статье Что нового в PostgreSQL 11: встроенный веб-поиск тот же Александр Алексеев.

          Manipulating checksums of a cluster
          Мишель Пакье пишет еще об одном патче PostgreSQL 11. Патч проверяет чексуммы страниц после штатной остановки кластера. Более того, он предлагает свою утилиту pg_checksums на базе этого патча.

          Читать дальше →
        • Что заморозили на feature freeze



            8-го апреля закончился комитфест 2018-03. Те патчи, которые не закомичены на нем (и на 3 предыдущих комитфестах) уже не попадут в релиз PostgreSQL 11: произошла заморозка функциональности (feature freeze). Время подводить итоги.

            Главные новости последнего комитфеста (и версии 11 соответственно):
            • увесистый набор патчей для секционирования.
            • JIT-компиляции посвящен только один патч, но это шаг в направлении, которое в будущем наверняка будет развиваться интенсивно.
            • «покрывающие» индексы (INCLUDE-индексы). Это тема уже активно обсуждается и продолжается в разработках.
            • Серия патчей в группе процедурных языков. Они важны в том числе для совместимости со стандартами SQL и миграции с Oracle.
            • Интересные, но не столь резонансные патчи.

            Начнем в произвольном порядке.
            Читать дальше →
            • +20
            • 2,8k
            • 1
          • Секционирование в PostgreSQL 10 и не только


              У многих достижений версии PostgreSQL 10 прописка в разделе Секционирование (Partitioning). И это справедливо: очевидно, что при переходе от 9.6 к 10 произошел мощный технологический скачок. В предыдущих версиях секции строили и управляли ими, теми средствами, что уже имелись: механизмом наследования со всеми его ограничениями и неудобствами.


              В версии 10 перешли к более специализированным механизмам и более привычному (в том числе для пользователей Oracle, а с этим приходится считаться) синтаксису. Этот скачок при переходе от 10 к версии 11 должен был подкрепиться важными дополнениями, которые должны расширить функциональность и улучшить производительность операций, использующих секционирование. Но из итогов последнего комитфеста (он закончился 8 апреля) видно, что не все задуманное удалось довести до рабочего состояния, а значит не все попадет в версию 11.


              К тому же последние пару лет параллельно велись разработки модуля pg_pathman в Postgres Professional. Некоторые важные возможности пересеклись, некоторые остались уникальны для PostgreSQL и pg_pathman (который работает с ванильной версией, то есть PostgreSQL 10 + pg_pathman дает уже вполне впечатляющую сумму функциональности). Об этом будет отдельная статья. Замечания, относящиеся к версии 11 и к pg_pathman для удобства выделены курсивом.


              Эта статья представляет собой переработанные и дополненные фрагменты книжки Nouveaulités de PostgreSQL 10. (с) Dalibo, перевод с французского Игоря Лёвшина (оригинал). Примеры из книги проверены, иногда адаптированы и локализованы для большей наглядности.

              Читать дальше →
              • +22
              • 4,6k
              • 6
            • Как ускорили PostgreSQL 10

                (В статье использованы примеры и пояснения из книги Nouveaulités de PostgreSQL 10. (с) Dalibo, перевод с французского Игоря Лёвшина, редактор Егор Рогов (оригинал). Примеры проверены, иногда изменены для большей наглядности)


                Конечно, мы уже ждем не дождемся появления 11-й версии PostgreSQL. Но уже сейчас ясно, что некоторые довольно радикальные улучшения производительности появились уже в версии 10. Определенно есть смысл разобраться сначала с ними.


                Производительность "десятки" улучшилась сразу в нескольких направлениях. В этой статье речь пойдет об ускорении за счет:


                • распараллеливания сканирования таблиц и индексов,
                • более эффективного агрегирования,
                • быстрых переходных таблиц,
                • ускорения запросов за счет многоколоночной статистики.

                Мы начнем с параллелизма.

                Читать дальше →
              • Дайджест новостей из мира PostgreSQL. Выпуск №4



                  Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

                  Релизы


                  Вышел PostgreSQL 10.3

                  В этом релизе закрыта дыра безопасности: неконтролируемый путь поиска объектов в схемах БД в pg_dump и других приложениях. Среди других исправлений: теперь логическая репликация не будет пытаться передавать изменения, если таблицы запрещены для публикации. Также вышли обновленные версии 9.x.

                  Версия Postgres Pro Standard 10.3.1 вышла в тот же день, что и PostgreSQL 10.3, так как необходимо было залатать дыру как можно быстрее. Сейчас доступны уже Postgres Pro Standard 10.3.2 и Postgres Pro Enterprise 10.3.2. В них в том числе добавлена поддержка TOAST для атрибутов INCLUDED в индексах-B-деревьях. Серьезно усовершенствована утилита pg_probackup (теперь это версия 2.0.16).
                  Читать дальше →
                  • +28
                  • 4,9k
                  • 6
                • Дайджест новостей из мира PostgreSQL. Выпуск №3

                    Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

                    Релизы

                    Вышел релиз PostgreSQL 10.2
                    В списке исправлений десятки пунктов. Например: устранение сбоев параллельных процессов при использовании более чем одного узла Gather (Томас Мунро) или Изменение поведения оператора cube ~> int в расширении contrib/cube для обеспечения его совместимости с поиском kNN(Александр Коротков). Одновременно вышли исправления версий 9.x. Напоминаем, что в новой нумерации 10.2 это минорный релиз.
                    Postgres Pro 10.2.1 Standard
                    доступен на сайте Postgres Professional Выпуск включает все новые возможности, появившиеся в PostgreSQL 10, а также исправления ошибок, вошедшие в PostgreSQL 10.2. Среди исправлений уже от Postgres Professional:
                    • Утилита pg_probackup обновлена до версии 2.0.14 (исправлено поведение ptrack и резервного копирования страниц в условиях гонки; исправлено прерывание параллельного резервного копирования ptrack); добавлено новое состояние резервного копирование (ORPHAN), указывающее, что одна из предыдущих резервных копий испорчена.
                    • Обновлён модуль pg_variables.
                    • Модуль pg_pathman обновлён до версии 1.4.9. В этой версии исправлена обработка ONLY во всех типах запросов.
                    Подробности здесь.
                    2ndQuadrant объявила о выходе версии OmniDB 2.5
                    Новая версия графического клиента PostgrSQL приблизилась к заявленной цели: стать универсальным клиентом БД. Объявлено, что в новой версии есть базовая поддержка Oracle: можно управлять, соединяться и взаимодействовать с базами Oracle, использовая бóльшую часть функционала, доступного для пользователей PostgreSQL. Появилась новая панель DDL. Релиз 2.5 сопровождался серией статей, например: Oracle with OmniDB ключевого разработчика Вильяма Ивански.
                    Читать дальше →
                  • Дайджест новостей из мира PostgreSQL. Выпуск №2


                      Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Первый выпуск был почти месяц назад. Наш второй выпуск собрал в полтора раза больше материалов, а к существующим разделам добавился новый – книги о Постгресе и технологиях БД.

                      Релизы и коммиты

                      • Cybertec объявил выход pgconfigurator — визуального конфигуратора для редактирования файла postgresql.conf. Можно настраивать:
                        • параметры репликации;
                        • параметры, связанные с контрольными точками;
                        • ввод/вывод, оптимизировать параллельные запросы;
                        • конфигурировать память.
                      • Devart предлагает dbForge Studio for PostgreSQL — графическую среду для работы с базами данных и объектами PostgreSQL.
                      • Вышла версия JDBC 42.2.0
                        Новое:
                        • поддержка SCRAM-SHA-256 для PostgreSQL 10 в версии JDBC 4.2 (Java 8+),
                        • используется библиотека Ongres SCRAM library;
                        • Make SELECT INTO и CREATE TABLE AS теперь возвращает клиенту число строк.
                        • поддержка Subject Alternative Names для SSL-соединений
                        • поддержка isAutoIncrement в метаданных для столбцов идентификации в PostgreSQL 10;
                        • поддержка массивов примитивов;
                        • появилась поддержка get/setNetworkTimeout() в соединениях;
                        • в Make GSS JAAS теперь логин не обязателен; добавлена опция «jaasLogin»
                      Читать дальше →
                      • +23
                      • 5,3k
                      • 9
                    • Дайджест новостей из мира PostgreSQL



                        Друзья! Мы решили запустить дайджест свежих новостей, статей, релизов и событий из мира PostgreSQL, который будет выходить раз в две недели. В подборке вы найдете ссылки на наиболее интересные материалы по PostgreSQL, вышедшие за период. Если мы пропустили что-то важное для вас – пишите в комментариях!

                        Релизы


                        • Вышел Postgres Pro Standard 10.1.1. В эту версию перенесены все ключевые доработки и новые возможности СУБД Postgres Pro Standard 9.6, исправлены некоторые найденные ошибки. Также вышла сборка PostgreSQL 10.1 под Windows
                        • Вышла версия PgBouncer 1.8.1. Исправлена ошибка в 1.8: добавлен недостающий файл, теперь PgBouncer без проблем собирается из тарбола.
                        • Появилась версия драйвера psqlODBC 10.01.0000. Некоторые поправки и усовершенствования по сравнению с версией 10.00.0000. Например, ликвидированы утечки памяти.

                        Статьи


                        • В статье Jsonb: few more stories about the performance
                          Дмитрий Долгов (Zalando) обнародовал производительность PostgreSQL, MySQL и MongoDB на тестах YCSB. Сравнивалась производительность обработки бинарных JSON-ов (JSONB и BSON). Методика тестирования (в облаке) расписана подробно, есть выводы и рекомендации.
                          До этого тема обсуждалась на PGConf.EU 2017 в Варшаве и на других конференциях. Например, в презентации Олега Бартунова по результатам YCSB-тестирования в Postgres Professional (слайд 81 и далее). В этих тестах на выделенных мощных серверах сравнивались только MongoDB и PostgreSQL, а акцент был сделан на высокую нагрузку (тысячи клиентов одновременно).
                        Читать дальше →
                        • +46
                        • 8,8k
                        • 4