Дайджест новостей из мира PostgreSQL. Выпуск №10
Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.
Релизы
PostgreSQL 11 Beta 4
В этом релизе починили баги, выявленные после выхода Beta 3. В том числе:
- теперь отключена по умолчанию
JIT
-компиляция. - имена в
constraint
-ах должны быть уникальны. - убрали утечку памяти при обращении к XMLTABLE
- исправили ошибки в хранимых процедурах
- доработали секционирование, в том числе выбор секций в момент исполнения (runtime partition pruning)
Подробнее здесь.
PostgreSQL 10.5
В этом релизе несколько десятков исправлений, касающихся WAL, libpq, VACUUM и FREEZE, индексов GIN, распараллеливания запросов, OpenSSL. Вот их список.
Postgres Pro Enterprise 10.5.2.
В этой версии есть следующие нововведения по отношению к Postgres Pro Enterprise 10.5.1, они касаются pgbench
:
pgbench
теперь поддерживает составные команды;- с помощью параметра
--latency-limit
теперь можно ограничить время, отведённое на повторение транзакций. Если при использовании данного параметра значение--max-tries=0
, транзакции могут повторяться неограниченное число раз, пока не истечёт время, заданное параметром--latency-limit
; - при вычислении количества обработанных транзакций и скорости выполнения (TPS) пропущенные и неуспешные транзакции больше не учитываются.
Напомним, за время между нашими выпусками вышел релиз Postgres Pro Enterprise 10.5.1.. Там есть существенные изменения, о них можно прочитать здесь.
Postgres-XL 10r1beta1
2ndQuadrant анонсировала выход релиза, загрузить который можно здесь.
У ванильной версии на базе PostgreSQL 10 подхвачены следующие улучшения:
- декларативное секционирование;
- улучшенный параллелизм запросов;
- в целом существенно улучшена производительность;
- улучшен мониторинг и администрирование.
От версии на базе PostgreSQL 9.6 взято:
- параллельное выполнение последовательного сканирования, JOIN-ов и агрегирования;
- во время VACUUM FREEZE без необходимости не сканируются страницы;
- существенно улучшена производительность, особенно в случае много-сокетных серверов;
- полнотекстовый поиск теперь умеет делать фразовый поиск.
TimescaleDB 1.0.0 rc1
Появился релиз-кандидат этой СУБД, которая базируется на PostgreSQL, доработана для хранения и обработки временных рядов (time-series
), выполнена как расширение PostgreSQL. При скромном порядковом номере релиза, у СУБД уже такие клиенты как Bloomberg и Cray, миллионы даунлоудов.
Вышла PostGIS 2.5.0
Примерно через месяц после beta вышел и официальный релиз. Список изменений здесь
Официальный ChangeLog здесь, загружать сорсы отсюда.
repmgr 4.1.1
В аннонсированной 2ndQuadrant-ом версии имеются доработки для более удобной работы. Подробности здесь, а скачать можно здесь
pgAdmin 4 v 3.3
В этом релизе есть полезные доработки:
- просмотр геометрических фигур;
- добавлены новые опции в
backup/restore
версии PostgreSQL 11 и новые опции вpg_dumpall
.
Доступны пакеты для Windows, macOS, для Python Wheel, Docker, есть и тарболы. RPM и DEB появятся чуть позже на postgresql.org
pgCenter
Новая версия утилиты мониторинга, написанная Алексеем Лесовским (Data Egret), переписана на Go
. Теперь pgCenter
умеет сохранять статистику в файлах, учитывать фоновые процессы, фильтровать по регулярным выражениям. Версию сопровождает статья, где новшества описаны подробно. Есть демо. Скачать можно здесь.
temboard v2.0
В новой версии средства для мониторинга и управления Postgres, который предлагают в Dalibo, появились оповещения (alerting
). Скачать можно здесь.
pgBadger 10.0
Это мажорный релиз, кроме исправления багов имеются новые, существенные возможности:
- поддержка формата файлов pgbouncer
(syslog log)
; - поддержка всех форматов
auto_explain format (text, xml, json and yaml)
; - поддержка
%q placeholder в log_line_prefix
; - добавлен формат
jsonlog
в расширении Мишеля Пакье, с опцией -f jsonlog pgbadger сможет парсить лог; - вместо
SQL formatter/beautify
теперьpgFormatter v3.0
Добавлено много опций.
Исходные коды здесь.
pitrery 2.2
Это набор bash
-скриптов для работы с PITR
-бэкапами в PostgreSQL. В новой версии, которую можно найти на гитхабе Dalibo, умеет, например, сохранять конфигурационный файл и сохраненные команды внутри самого бэкапа.
pg_terminator
Depesz (то есть Хуберт Любашевский) сообщает о выходе pg_terminator
-а. Эта утилита мониторинга умеет подчищать проблемные запросы и/или соединения.
Ora2Pg 19.1
Добавлены:
- поддержка хэш-секционирования по версии PostgreSQL 11;
- экспорт дефолтной секции;
- поддержка объектов хранимых процедур
А также некоторые другие усовершенствования для менее болезненного экспорта и более осмысленного дебагинга.
Посмотреть все изменения на гитхабе;
скачать;
документация.
Обучение
Новые учебные курсы от Postgres Professional «Язык SQL» и «Основы технологий баз данных» стартовали 10 сентября
С 10 сентября и до 19 октября 2018 года в ВМК МГУ и ФКН ВШЭ проводятся два новых учебных курса при поддержке компании Postgres Professional
- Язык SQL (читает доцент СИбГУ Е.П. Моргунов);
- Основы технологий баз данных (читает профессор СПбГУ Б.А. Новиков).
Заявиться на курс «Основы технологий баз данных» можно написав на электронный адрес: edu@postgrespro.ru
, указав в письме фамилию, имя и отчество полностью.
Enterprise-Grade PostgreSQL: Built on Open Source Tools
На вебинар Percona желающие приглашаются 10 октября. Регистрация здесь. Будут обсуждаться темы:
- как обезопасить кластер БД;
- высокая доступность (High Availability);
- как выбрать стратегию резервного копирования и какие инструменты использовать;
- масштабирование PostgreSQL с помощью пулеров и балансировщиков нагрузки;
- утилиты/модули (extensions) для каждоневной работы DBA, детальное логирование;
- мониторинг и анализ в реальном времени.
Using Postgres to watch Star Wars!
В этом ролике-докладе Вил Лайнвебер (Will Leinweber) рассказывает и показывает как сделать винтажный мультик средствами СУБД.
Демонстарация PgCodeKeeper
20-минутный ролик.
Статьи
Preventing SQL Injections
Недлинная, внятная статья Димитрия Фонтейна объясняет, как обезопасить PostgreSQL от SQL-инъекций. Не без рекламы Python
-адаптера psycopg.
Securing PostgreSQL as an Enterprise-Grade Environment
Сотрудники Percona расписывают процесс настройки безопасности PostgreSQL в информационных системах уровня предприятия. Речь идет об
- аутентификации
- авторизации
- RLS
- шифровании
- логировании и аудите
- отслеживании багов
PostgreSQL Backup Strategy for an Enterprise-Grade Environment
Вторая статья в этой перконовской серии рассказывает о резервном копировании уровня предприятия. Обе статьи не слишком детализируют проблему, но эта уж совсем лаконичная.
USE, RED, PgBouncer, его настройки и мониторинг
Большая статья от okmeter с множеством примеров и иллюстраций.
PostgreSQL 11 and Just In Time Compilation of Queries
В этой статье от Citus Data рассказывается в том числе о бенчмарке TPC-H Q1, сопоставленном с Pricing Summary Report (итоговый отчет по ценообразованию) в реальном мире. Бенчмарк представляет собой запрос с большим количеством агрегатов. Показано, как JIT
версии PostgreSQL 11 ускоряет запросы.
Setting up Streaming Replication in PostgreSQL
Авинаш Валларапу (Avinash Vallarapu) в блоге Percona рассказывает, как подготовить master
и slave
к потоковой репликации.
Upgrading to PostgreSQL 11 with Logical Replication
Петер Айзентраут (Peter Eisentraut) в блоге 2ndQuadrant обсуждает плюсы и минусы способа апгрейда инсталляции PostgreSQL: с помощью pg_dump
и restore
, или pg_upgrade
, или задействуя логическую репликацию (в ядре). Затем подробно описывает, как настроить логическую репликацию.
Параллелизм в PostgreSQL: не сферический, не конь, не в вакууме
Статья по мотивам реального кейса у одного из заказчиков Postgres Professional. О диагностике и патчах, в том числе управляющими очередями блокировок LWLock
.
Parallel PostGIS and PgSQL 11
В своем блоге Пол Рамси (Paul Ramsey) делится тестами PostGIS 2.5 на PostgreSQL 11, которые показывают, что некоторый прогресс в распараллеливании достигнут.
Partitioning Improvements in PostgreSQL 11
Альваро Эррера (Alvaro Herrera) обозревает патчи 11-й версии, имеющие отношение к секционированию.
Be careful with CTE in PostgreSQL
В этой статье предостерегают от бездумного использования CTE: побочным эффектом может стать резкое падение производительности.
Better PostgreSQL testing with Python: announcing pytest-pgsql and pgmock
Пользователи, сотрудники Clover Health представляют 2 утилиты: pytest-pgsql
и pgmock
.
Конференции и митапы
прошедшие
Материалы с встречи #RuPostgres — видеозаписи, презентации, разбор викторины и фотоотчёт
Митап был организован Авито, материалы выложены здесь. Доклады:
- Стас Кельвич (Postgres Professional) рассказал про распределенные транзакции и путешествия во времени.
- Константин Евтеев (Авито) выступил с докладом про масштабирование приложения на PostgreSQL в Авито и поделился tips and tricks.
- Михаил Тюрин приготовил доклад о логической репликации и уровнях изоляции транзакций PostgreSQL.
- Сергей Хандриков (Яндекс) рассказал слушателям о том, как устроена OZO, асинхронная типобезопасная header-only библиотека-клиент PostgreSQL для C++17.
будущие
PostgresConf South Africa 2018
пройдет в Йоханнесбурге 9-го октября.
PostgreSQL Conference Europe 2018
состоится 23–26 октября в Лисабоне.
PGConf.Сибирь 2018
Пройдет 12–13 ноября в Красноярске. Темы конференции:
- Опыт использования PostgreSQL в различных сферах
- Опыт осуществления перевода на PostgreSQL информационных систем, работающих с другими СУБД
- Опыт разработки системного инструментария для PostgreSQL
- Высоконагруженные проекты на основе PostgreSQL
- Использование PostgreSQL в web-проектах
- «Большие данные» и PostgreSQL
- Администрирование PostgreSQL
- Использование PostgreSQL в преподавании в вузах, колледжах и школах.
PGConf.ASIA 2018
ожидается 10–12 декабря в Токио,
Подписывайтесь на канал postgresso!
Идеи и пожелания присылайте на почту: news_channel@postgrespro.ru
Предыдущие выпуски: #9, #8, #7, #6, #5, #4, #3, #2, #1