Дайджест новостей из мира PostgreSQL. Выпуск №9 +12



Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Между этим выпуском и #8 прошло больше времени, чем обычно, поэтому он будет более объемным.


Релизы


PostgreSQL 11 Beta 3
Этот релиз отличается исправленными багами — и общими для серии релизов, о которых дальше, и специфическими для версии 11. Подробности об исправленных (и не только) багах можно узнать здесь. Общая информация о beta здесь.

PostgreSQL 10.5
Исправлены серьезные баги. Например, обнаружена и исправлена проблема в libpq: она не восстанавливала в начальное состояние все переменные состояния соединения при попытке повторного соединения. Не восстанавливалась переменная, которая задавала, нужен ли пароль, из-за чего, используя dblink или postgres_fdw, можно было получить незаконный доступ к серверам.
Всего в релизе около 20 исправлений и улучшений, касающихся самых разных механизмов СУБД: VACUUM, WAL, GIN-индексы, POSIX-семафоров и многого другого. В том числе для работы под Windows. Они расписаны тут.

Вместе с 10.5 и Beta 3 вышли соответствующие обновления 9.6.10, 9.5.14, 9.4.19, 9.3.24. Скачать можно, как обычно, отсюда.

Postgres Pro Standard 9.5.14.1, 9.6.10.1 и 10.5.1
Релизы Postgres Pro Standard 9.5.14.1 и 10.5.1 созданы Postgres Professional на базе соответствующих версий PostgreSQL (без последней цифры в номере релиза, напр PostgreSQL 10.5) и соответствующих предыдущих версий Postgres Pro Standard.
Ключевые усовершенствования всех трёх (относительно предыдущих):
  • Модуль pg_variables теперь поддерживает транзакционные переменные. (См. Раздел F.37 документации)
  • Модуль auto_explain теперь может выводить время планирования.
  • Усовершенствована версия Postgres Pro Standard для Windows: устранено неявное ограничение на количество одновременно открываемых файлов в каждом серверном подпроцессе.

В 9.6.10.1 и в 10.5.1 отличий существенно больше. Например, модуль pg_probackup обновлён до версии 2.0.19, в которой появились такие возможности, как:
  • команда restore может пропускать проверку копии для ускорения восстановления кластера;
  • улучшено параллельное выполнение инкрементального копирования;
  • теперь можно объединять инкрементальные копии с родительской полной копией для экономии места на диске

А также и другие — см. документацию, разделы «Приложение E. Замечания к выпуску», например здесь. Новшества 9.6.10.1 и 10.5.1 сильно пересекаются, но всё же будьте внимательны: например, 10.5.2 умеет (c pg_probackup) восстановить кластер до заданной позиции в журнале (LSN).

pgAdmin 4 v3.3, v3.2, v3.3.
В последней версии (3.3) лишь мелкие поправки. В 3.2 более серьезные изменения: например, поддержка SCRAM; JIT при визуализации планов. Самые большие изменения были в 3.1, вышедшей в самом конце июня: в ней исправлено более 30 багов, а среди новых фич:
  • добавлена поддержка SSH-туннелей,
  • поддержка LISTEN/NOTIFY в Query Tool,
  • поддержка функций и процедур в PostgreSQL 11
  • Улучшена поддержка Greenplum

PgBouncer 1.9.0
В новой версии расширена функциональность для улучшения и облегчения контроля и мониторинга в высокодоступных архитектурах. Доработана документация. Обо всех изменениях можно прочитать здесь, а скачать отсюда.

Ora2Pg 19.0
В новой версии этого инструмента миграции есть новшества, например добавлен экспорт оракловых хэш-секций при включенном PG_SUPPORTS_PARTITION — а он появилось только в PostgreSQL 11. Весь огромный список здесь. Исправлены огрехи, на которые жаловались пользователи.
Качать отсюда.

pg_chameleon 2.0.9
Этот пакет умеет реплицировать базу MySQL средствами MySQL, сохраняя записи в PostgreSQL в виде JSONB. Написано на Python 3. Далее функция на pl/pgsql разбирает JSONB, проигрывая изменения в PostgreSQL. О релизе можно почитать здесь.
Кстати, вот статья от Percona о том, как пользоваться pg_chameleonReplication from Percona Server for MySQL to PostgreSQL using pg_chameleon.

Migrate2Postgres
Еще одно средство миграции. Можно ознакомиться и скачать здесь. Средство кросс-платформенное, работает через JDBC, встроен пример для миграции с MS SQL Server.

Ajqvue v2.0
Это GUI для PostgreSQL с открытым кодом, написанный на Java. Работает с различными СУБД, в т.ч. и с PostgreSQL.
В релизе 2.0 доработки во многом обязаны плагину DB_to_FileMemoryDB; плагин DataCharts обновлен до JFreeChart, 1.5.0. Некоторая информация есть на сайте. Сорсы здесь.

PostGIS 2.5.0 beta2
Эта бета делается для будущих релизов, хотя будет работать с любыми не моложе 9.4. Полная функциональность будет достигнута с PostgreSQL 11beta3+ и GEOS 3.7.0 beta2.

pgmetrics 1.4
Это приложение, поставляемое как единый бинарник с отсутствием зависимостей от стороннего софта, собирает информацию и статистику работающего сервера PostgreSQL, выдает ее в текстовом формате или экспортирует в JSON для дальнейшей обработки.

repmgr 4.1.0
Улучшения и багфиксы этой версии можно посмотреть здесь.

Slony 2.2.7
Минорный релиз старых добрых Слонов. исправлены ошибки. Загружать здесь.

PostgreSQL Page Verification tool
Google открыл общественности свой инструмент проверки целостности страниц бэкапа.
Здесь документация. Скачать код можно здесь.
Есть статья в eWeek о том, как это работает: Google’s page verification tool can help organizations discover data loss and corruption earlier in the change cycle, company says.
(Кстати, в Postgres Pro Enterprise уже есть подобная проверка: в него входит утилита pg_probackup, которая умеет делать постраничную валидацию бэкапа без восстановления данных кластера)

Образование


Выложены видеоролики курса DBA1, прочитанного в конце февраля в Нижнем Новгороде сотрудниками Postgres Professional Павлом Лузановым и Егором Роговым.

Статьи


Tuning Autovacuum in PostgreSQL and Autovacuum Internals
На всегда актуальную тему настройки автовакуума пишут в блоге компании Percona.

Там же статья о FDW: Foreign Data Wrappers in PostgreSQL and a closer look at postgres_fdw

Оркестрируемая сага или как построить бизнес-транзакции в сервисах с паттерном database per service
Подробная статья Константина Евтеева в блоге Avito.

Understanding And Reading the PostgreSQL System Catalog
Статья Брайана Ферле (Brian Fehrle) о работе с системными каталогами (с примерами) в блоге Severalnines.

3 ways to detect slow queries in PostgreSQL
В статье Ханс-Юрген Шёниг (Hans-Jurgen Schonig) из CyberTech рассматривает отслеживание медленных транзакций на примерах:
  • анализ логов;
  • проверка планов с auto_explain;
  • импользование агрегированной информации в pg_stat_statements.

Waiting for PostgreSQL 12 – Allow multi-inserts during COPY into a partitioned table
статья Депеша (Depesz, то есть Хуберт Любашевски) о параллельной вставке в секционированную таблицу при работе команды COPY.

В это же время Альваро Эррера (Alvaro Herrera) в блоге 2ndQuadrant пишет о секционировании в 11-й версии: Talk slides: Partitioning Improvements in PostgreSQL 11. Но это слайды с конференции в Бразилии — PGConf.Brazil 2018. Текст должен появиться позже.

How Citus real-time executor parallelizes Postgres queries
Статья Крэйга Керстинса (Craig Kerstiens) рассказывает о распараллеливании SQL-запросов в их своеобразном форке Postgres.
Кредо выражено в подзаголовке: Writing in SQL, thinking in MapReduce.

Enabling PostgreSQL applications with Hybrid Transactional/Analytical Processing for driving differentiation and faster decisions into your business
В блоге Fujitsu объясняют, почему их FUJITSU Enterprise Postgres может эффективно работать и как OLTP и как OLAP СУБД.
Для аналитикой работы есть некоторая архитектура, обладающая некоторыми преимуществами вертикального хранения — Vertical Clustered Index (VCI).

Конференции. Вебинары. Митапы.


Krasnodar Dev Days #3
Ежегодная конференция разработчиков Краснодара и края состоится 15 сентября.
В программе конференции есть доклад Отказоустойчивые решения PostgreSQL с автоматическим failover'ом от Игоря Косенкова, Postgres Professional.
Сайт конференции.

TechTrain
Это конференция-фестиваль разработчиков. Она пройдет 1-2 сентября в СПб. На ней будет стенд сообщества PostgreSQL, где планируется мастер-класс и интеллектуальная викторина, а откроет конференцию доклад Путь Слона, или Карьера в open source Олега Бартунова.

Масштабирование приложения на PostgreSQL
Митап в Avito состоится 15 сентября в 12.00 — 16.30. Доклады будут посвящены масштабированию, уровням изоляции при репликации, DBMS Asynchronous Client Library, Clock-SI. докладчики из Яндекса, Avito, Postgres Professional. Регистрация будет объявлена позже, следите за объявлениями..

PostgreOpen Silicon Valley 2018
Состоится 5-7 сентября в Сан Франциско.

Will Postgres Live Forever?
Вебинар Брюса Момджана на тему: вечен ли Postgres? запланирован на 29 августа в 17:00 по московскому времени. Это не первое явление Брюса в качестве визионера, но немногие имели возможность его видеть.
Регистрация здесь.

PGDay (Portland PostgreSQL Users Group)
Эта юзер-группа проводит конференцию у себя 10 сентября. Предложения принимаются.

PostgresConf South Africa 2018
Пройдет в Йоханнесбурге 9 октября.

PostgreSQL Conference Europe 2018
Состоится в Лиссабоне 23-26 октября.
Подписывайтесь на канал postgresso!

Идеи и пожелания присылайте на почту: news_channel@postgrespro.ru
Предыдущие выпуски: #8, #7, #6, #5, #4, #3, #2, #1




К сожалению, не доступен сервер mySQL