После паузы (отпуск), продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Не будем придерживаться здесь строго отображения всех релизов и событий, произошедших после последнего, еще октябрьского выпуска Postgresso #17, но важнейшее, произошедшее ещё в конце 2019 всё же постараемся упомянуть.
Релизы
PostgreSQL 12.2
А также 11.7, 10.12, 9.6.17, 9.5.21, и 9.4.26 увидели свет 13 февраля. Последняя в списке и есть последняя: 27-й уже не будет. В 12.2 исправлено огромное количество (более 70) багов, обнаруженных в 12.1. Из них многие в секционировании.
Решили проблемы с правами в конструкции ALTER… DEPENDS ON EXTENSION. В 12.1 обладатели прав на DROP EXTENSION могли расправляться с объектами, зависимыми от этого расширения.
Улучшили производительность parallel hash join для процессоров с большим количеством ядер и для hash join с очень большими таблицами.
Postgres Pro Standard 12.1.1
Эта версия вышла в конце декабре 2019 и основана, соответственно, на PostgreSQL 12.1. Об особенностях этой версии можно прочитать в этой статье. Там подробно и с примерами рассматриваются:
— проверка версий ICU;
— оптимизация блокировок, джойнов и GROUP BY;
— поддержка PTRACK;
— WaitLSN;
и многое другое.
MobilityDB 1.0 beta1
Не смотря на молодость (см. номер версии), это опен-сорсное расширение для пространственно-временнЫх объектов активно используется и у нас, и за рубежом для анализа морских и сухопутных транспортных потоков, что ясно из двух докладов на конференции PGConf.Russia. Видео будут позже, а мини-выжимки из этих (в том числе) докладов мы напечатаем на хабре в ближайшее время. Работает это расширение с PostgreSQL и PostGIS.
PostGIS 3.1.0alpha1
Новая альфа модернизирована под версии PostgreSQL 12.1 и GEOS 3.8.0.
Подробности здесь, ссылка на скачивание есть на этой странице.
KrahoDB
Эта бразильская СУБД со странно звучащим для русского уха названием построена поверх PostgreSQL версий 10, 11 и 12 для кластеров в режиме двунаправленой логической репликации. Читать и загружать здесь.
PGSpider
Вышла первая версия. Это патч к PostgreSQL (пока к 11.6), который, по замыслу создателей, снабжает PG высокопроизводительным кластерным движком на FDW, работающим с распределенными данными. Запросы обрабатываются параллельно и есть пушдаун. Разработан Toshiba Software Engineering & Technology Center. Подробности здесь.
PostgreSQL TDE 12
Это разработка Cybertec — патч к PostgreSQL для прозрачного шифрования (Transparent Data Encryption), независимого от ОС и файловой системы.
Database Lab 0.2.0
Это первая публичная версия утилиты для клонирования многотерабайтных баз PostgreSQL. Создатель, Николай Самохвалов из Postgres.ai утверждает, что теперь это занимает пару секунд. Все компоненты теперь работают в контейнерах: устанавливаете Docker и ZFS, остальное внутри. Подробности в чейнджлоге и на гитхабе проекта.
Joe DBA-bot для оптимизации запросов к PostgreSQL
Еще один продукт этой компании. Работает поверх Database Lab.
Aurora PostgreSQL Supports Machine Learning
Amazon добавил машинное обучение в AWS. Дополнительной оплаты от пользователей не требуется. Они получают все модели из Amazon SageMaker, могут пользоваться ML из Amazon Comprehend, который анализирует (sentiment analysis) естественный язык. Есть экспорт в Amazon S3 при помощи нового расширение aws_s. Работает в версиях PostgreSQL 10 and 11. Подробности здесь.
Odyssey 1.0
Разработчики Яндекса довели свой облачный многопоточный пулер до промышленной версии — 1.0. Они и сами используют его в продакшн, где он обслуживает более 1 млн запросов в секунду на сотнях хостов. Удалось добиться:
— линейного масштабирования на процессорах;
— поддержки разных режимов работы с возможностями конфигурировать аутентификацию, режим пулинга и пр.;
— пулер умеет автоматически откатывать транзакции и убивать процессы бэкендов при разрыве соединений;
— умеет корректно передавать ошибки PostgreSQL;
— поддерживает протокол репликации;
— поддерживает PAM и SCRAM аутентификацию.
Релизы Odyssey находятся здесь.
pgbouncer_fdw 0.2.0
Подробности версии здесь. Разработка Cybertec.
pgbouncer_wrapper 1.1.0
С ним можно обращаться к балансировщику на SQL. Тоже Cybertec.
Pgpool-II 4.1.0
В этой версии среди изменений:
— балансировка нагрузки на уровне statement
— автоматический failback;
— увеличена производительность за счет более эффективного использования кэша и парсера.
Почитать можно
здесь, а загрузить отсюда.
pg_probackup 2.2.7
Новое в этой версии:
— добавлена поддержка ptrack 2.0;
— в репозитарии появились пакеты для ALT Linux versions p7, p8 и p9.
Последняя версия документации расположилась здесь. К тому же по инсайдерской информации сейчас пишется статья на хабр по pg_probackup. Скачивать отсюда.
check_pgbackrest 1.7
Утилита Жиля Дароля мониторит бэкапы pgBackRest, представляет собой плагин к Nagios. Он помогает проверять политики хранения бэкапов (retention) и согласованность заархивированных сегментов WAL. В новой версии можно добавить вывод в формате json, задать формат переименования выходного файла и другое.
pgAdmin4 4.18
В этой версии:
— появилась поддержка многоуровневого секционирования;
— инструмент для сравнения двух схем;
— сессия закрывается, когда пользователь перестает шевелить мышью, трогать клавиши.
— исправлен баг: раньше в Windows в режиме сервера можно было, указав в настройках пустую
STORAGE_DIR, увидеть все тома Windows. Теперь нельзя.
Скачивать отсюда.
Подробности багфиксов последней версии здесь.
pg_timetable
Планировщик работ для PostgreSQL от Cybertec. Умеет автоматически перезапускать невыполненные задания, строить цепочки, рассылать почту. Интересно, что среди заявленных преимуществ есть работа не как фонового процесса, а как демона. Вопрос, мягко говоря, дискуссионный: напомним, что создатели pgpro_scheduler выбирали архитектуру с работой планировщика «внутри» базы именно как преимущество. Скачать можно отсюда.
pgCluu 3.1
Новую версию этой Perl-программы (тоже Жиля Дароля) для аудита производительности кластеров с PostgreSQL можно скачать здесь. pgCluu собирает статистику работы не только СУБД, но и системные ресурсы кластера.
pitrery 3.0
В новой версии этого набора скриптов для управления PITR-бэкапами (от Dalibo) появилась поддержка PostgreSQL 12.
Operator 4.2.1
Crunchy PostgreSQL Operator использует Kubernetes для быстрого разворачивания и управления PG-кластерами. На этой странице есть подробная инструкция по установке последней (и любой другой) версии.
PostgresDAC 3.7
Набор компонетов от Microolap для работы в RAD Studio с PostgreSQL модернизирован под версии PostgreSQL 12 and RAD Studio 10.3.2. Работает с PostgreSQL, EnterpriseDB, Amazon RDS, PostgresPro and Heroku Postgres. Чейнджлог здесь, загружать отсюда.
pgFormatter 4.2
О новой версии этой утилиты Жиля Дароля здесь.
explain-running-query
Программка на Python выводит план исполняющегося в PostgreSQL запроса.
pg_sqlog 1.0
Это расширение-интерфейс к логам.
psqlODBC 12.01.0000
О новой версии здесь.
pgmetrics 1.8.1
Версию этой утилиты, собирающей статистику о работе сервера PostgreSQL и отдающей ее в виде текста, JSON или CSV можно скачать отсюда.
wal2json 2.0
В новой версии этой утилиты логического декодирования только багфиксы.
psycopg 2.8.4
В этой версии PostgreSQL-адаптера для Python багфиксы и добавлена поддержка Python
3.8 и PostgreSQL 12. Забирать исходники отсюда.
Ajqvue 3.1
Вышла новая версия этой графической среды. И еще интересный плагин-конвертер.
Migrator 1.0
Cybertec-овская графическая утилита на основе ora_migrator. Полностью транзакционная миграция, мониторинг. Есть подробное руководство установки.
oracle_fdw 2.2.0
Новая версия.
PEV2
Инструмент визуализации планов PostgreSQL от Dalibo.
Образование
Учебник «Новиков Б. А. Основы технологий баз данных» 2-е издание
На сайте Postgres Professional можно скачать PDF, который теперь содержит обе части. В феврале должна появиться и бумажная версия книги.
Вышла новая «малютка»
Она же «Postgres. Первое знакомство». Это уже 6-е издание популярной брошюры (число 12 на обложке относится не к изданию, а к версии PG, на которой демонстрируются примеры). Основные изменения:
— в главе про установку полностью перешли с Postgres Pro Standard на ванильную PostgreSQL 12;
— появилась и будет впредь глава о новых возможностях последней версии (в этом издании — 12-й);
— в главе про JSON рассказано и про JSON/Path;
— в главе про обучение появился раздел о сертификации.
Книжечку уже раздавали на конференции PGConf.Russia.
.
Скачать PDF можно отсюда.
Статьи
An Overview of Job Scheduling Tools for PostgreSQL
Хуго Диас обозревает в блоге SeveralNines:
— Linux crontab;
— Agent pgAgent;
— Extension pg_cron.
К сожалению, в обзор не попал pgpro_scheduler.
How To Migrate From Trigger-Based Partitioning To Native in PostgreSQL
Статья в блоге Crunchy Data, и миграция разбирается на примере их расширения pg_partman, но многое применимо и к другим инструментам секционирования.
Creating a PostgreSQL procedural language – Part 2 – Embedding Julia
Как интегрировать в Postgres процедурный язык — в данном случае на примере не самого распространенного языка — Julia, ориентированного на исполнение в LLVM. Марк Вонг пишет в блог 2ndQuadrant.
Migrating from MS SQL to PostgreSQL: Uppercase vs. Lowercase
Ханс-Юрген Шёниг в блоге Cybertec пишет о, казалось бы, частном случае при миграции — переводе имен объектов из верхнего регистра в нижний, но это, во-первых, распространенная практика, а во-вторых, предостерегает прежде всего от лазеек для SQL-инъекций.
Replication configuration changes in PostgreSQL 12
в статье не только перечисляются изменения, но и разбираются неочевидные нюансы.
PostgreSQL 13: параллельный VACUUM
Это standalone-cтатья Егора Рогова, она не входит в его сериалы — 10 статей об индексах, 8 статей о MVCC, 4 статьи о блокировках и 4 статьи о WAL.
Вебинары и митапы
Открытый PostgreSQL Meetup
Организован Райффайзенбанком и Postgres Professional. Запись выложена на хабре.
Вторники #RuPostgres
Каждый вторник в 18:30 мск Наколай Самохвалов (Postgres.ai) и Илья Космодемьянский (Data Egret) устраивают онлайновые Постгрес-вторники по Zoom (постоянная ссылка для звонков).
Можно поучаствовать просто голосом, но желательно с видео. Можно остатья зрителем.
YouTube – онлайны, записи.
Facebook – записи, обсуждения.
гуглодок с программой, принимаются темы.
GDG Databases. PostgreSQL Pro deep dive (Тюмень)
7 февраля 2020 года в Тюменском технопарке, на площадке «Точки кипения» состоялся митап с этим названием в Тюмени). В нем участвовали в том числе Брюс Момджан, Олег Бартунов, Иван Панченко.
Tver.IO PostgreSQL Performance Workshop
10 февраля Брюс выступил в Твери с трёхчасовой лекцией "PostgreSQL Performance Tuning".
PostgreSQL-митап в Минске
Из Твери Брюс отправился именно туда. Это был первый PostgreSQL-митап в Беларуси, он прошел 12-го февраля. На митапе также выступил главный архитектор Postgres Professional Александр Коротков. У постгрессистов Беларуси есть своя группа в фб, телеграм и митап.
Конференции
Прошедшие
PGConf.Russia
прошла на экономическом факультете МГУ 3-5 февраля. Видео докладов будут доступны в ближайшие недели, а многие презентации стали доступны уже на конференции (см. программу). В ближайшие дни здесь появится короткая сводка и статьи по материалам докладов.
Будущие
pgDay Israel 2020
пройдет в 19 марта в Тель-Авиве.
pgDay Paris 2020
состоится в Париже 26 марта.
PG Day Russia 2020
состоится 10 июля, заявки можно подавать до 6 апреля.
PostgresLondon 2020
пройдет 7-8 июля, заявки можно подавать сюда.
Подписывайтесь на канал postgresso!
Идеи и пожелания присылайте на почту: news_channel@postgrespro.ru
Предыдущие выпуски: #17, #16, #15, #14, #13, #12, #11 (спец), #10, #9, #8, #7, #6, #5, #4, #3, #2, #1
Автор: Igor_Le