Postgresso 12 (61)

В эти предновогодние дни перегружать вас техническими деталями не будем. И даже не всё в этом выпуске будет вертеться вокруг СУБД и SQL. Начнём, впрочем, с такой серьёзной новости:
пишу тексты
В эти предновогодние дни перегружать вас техническими деталями не будем. И даже не всё в этом выпуске будет вертеться вокруг СУБД и SQL. Начнём, впрочем, с такой серьёзной новости:
Лицензии и апокалипсис
10-го августа сего года компания HashiCorp позволила себе нехороший - с точки зрения многих участников движения open source - поступок. Она поменяла лицензию своего любимого многими Terraform (инфраструктура как код - Infrastructure-as-Code, IaC) с MPL 2.0 (Mozilla Public License) на BSL 1.1 (Business Source License). BSL относят к категории source-available software - более широкой, чем free software (свободное - подмножество SAS), а бизнес-модель HashiCorp относят к freemium (=free+premium), то есть вроде и бесплатно, но за что-то лучше заплатить. Как бы и ничего такого уж страшного, но через 5 дней на сайте SecurityLab.ru, который поддерживает Positive Technologies, появилась статья с пугающим названием:
Конец открытому ПО? HashiCorp переводит Terraform и Vagrant под закрытую лицензию
- а также PostgreSQL 15.5, 14.10, 13.13, 12.17 и 11.22 (эта версия последняя, которая будет поддерживаться в линейке 11). Обновление закрывает 3 проблемы безопасности:
CVE-2023-5868: показ содержимого памяти в вызовах функций с агрегацией (memory disclosure in aggregate function calls) - может произойти, когда в качестве аргумента передаётся тип unknown;
CVE-2023-5869: переписывание буфера от его переполнения целыми при модификации массивов (buffer overrun from integer overflow in array modification) - недостаточные проверки переполнения позволяют аутентифицированным пользователям и читать в памяти и записывать в неё, чтобы исполнить вредоносный код;
CVE-2023-5870: роль pg_cancel_backend может рассылать сигналы некоторым процессам суперпользователей (role pg_cancel_backend can signal certain superuser processes) - а по документации не должна; роль может, например, посылать сигналы процессу, запускающему логическую репликацию.
Кроме того были ликвидированы баги - 55 штук. А теперь перейдём конференциям, по ним накопилась информация.
PostgreSQL 17: Часть 2 или Коммитфест 2023-09
Если новости о 16-й версии у кого-то уже не вбрасывают адреналин в кровь, то вот очередная статья-обзор Павла Лузанова, небольшое путешествие в будущее (а об июльском коммитфесте в предыдущей статье этой серии: 2023-07). Павел рассматривает 18 пунктов. Например:
PostgreSQL 16
Наконец, официально вышел релиз PostgreSQL 16. Мы регулярно писали о новом в бетах и релиз-кандидатах, поэтому подробно говорить об официальном нет, кажется, особой необходимости: с тех пор ничего принципиального не ушло и, тем более, не пришло.
На сайте выделяют такие главные преимущества релиза, вот некоторые:
улучшение производительности: оптимизатор научился распараллеливать FULL
и RIGHT JOIN
, ускорились оконные функции, появилась балансировка нагрузки.
расширение возможностей логической репликации: репликация с реплики, распараллеливание, новая роль pg_create_subscription,
для разработчиков: новые (вернувшиеся "старые") возможности работы с SQL/JSON, улучшения в правилах сортировки, команда \bind в psql для подготовленных запросов, улучшения в правилах сортировки,
мониторинг: pg_stat_io, новое поле в pg_stat_all_tables,
доступ и безопасность: появилась возможность задавать дополнительные файлы в include.
Как вы, может быть, заметили, ссылки ведут на РУССКУЮ ДОКУМЕНТАЦИЮ к PostgreSQL, которая только что появилась на сайте Postgres Professional.
Между выходом этого обзора и предыдущего успели выйти бета3 и первый релиз-кандидат.
В PostgreSQL 16 Beta 3 закрыты 2 уязвимости, они касаются расширений и MERGE. В сообщении есть важные замечания для тех, кто использует BRIN-индексы для запросов, затрагивающих NULL-величины.
А вот это почти детективный сюжет: PostgreSQL: CVE-2020-21469 is not a security vulnerability.
Конференции, битва за Ибицу
PGConf впервые пройдёт 25 сентября в Санкт-Петербурге. Конференция будет называться PGConf.СПб 2023. Место - Отель «Коринтия», Невский проспект., д.57.
Регистрация открыта и заявки принимаются. Подать заявку можно в личном кабинете. Количество тем не ограничено.
Пройдёт на площадке Город ИТ пройдёт 9-го сентября в Томске. Программа еще формируется, но общая канва известна.
PGIbiza 2023: Postgres and Ecosystem
Но с ней не всё просто. Казалось бы, на Ибице есть всё, чтобы поработать и расслабиться последовательно или одновременно (насколько помню, там даже доклады на пляже). Но всплыл старый конфликт между Альваро Эрнандесом (Álvaro Hernández Tortosa) и старейшинами (Core Team) PostgreSQL. Поскольку есть риск многое истолковать неправильно, напомним предысторию. Альваро не рейдер, попытавшийся захватить торговые марки PostgreSQL. Он революцьонэр. История эта началась ещё в 2021-м.
Изменения по сравнению с 1-й бетой коснулись прежде всего правил сортировки (collation): провайдер по умолчанию, которого выбирает initdb,
теперь сноваlibc.
В 1-й бете решили сделать так: если доступна ICU, то выбирается ICU. Откатили. Временно или нет - не знаю. То же при сборке из исходников.
Поведение при выборе локали C сlibicu
- возвращено обратно кlibicu
;[??вот это не понял] На ICU 64 и выше локальC
не используется, а у ICU есть собственный механизм для выбора локали или генерации ошибки.
Полный список новых и измененных старых возможностей 16-й версии в release notes. Скачать можно здесь.
Обожаемый и желанный:
Beta!
Это Beta 1 - PostgreSQL 16 Beta 1. После неё будут ещё беты, число которых заранее не известно - по обстоятельствам. После появится релиз-кандидат, скорее всего тоже не один. Официальный релиз запланирован на конец 2023-го. Можно заглянуть в Beta Testing в случае заинтересованности.
SQL:2023
SQL:2023 is finished: Here is what’s new и
Postgres and SQL:2023: What's Supported?
Эти две статьи Питера Айзентраута (Peter Eisentraut) объединяем в одну. Во второй он только проставляет статусы и версии, в которых появилась поддержка. С момента выхода прошлого стандарта по шкале времени ИТ прошла Вечность: 7 лет с выхода SQL 2016. Дольше ждали только до 1999-го года - вообще-то тоже 7 лет, но Питер пишет, что дольше, он, наверное, влезал в детали. Не важно. Главное - долго, а в бездействии разработчикам ждать не дадут: клиенты просят новых фич, им не до стандартов.
Конференция началась с вешалки: огромная очередь на регистрацию. В данном случае это был не просчёт организаторов (лично я слышал только похвалы организатором от посетителей конференции), просто неожиданно много зарегистрировалось в последний момент. Я занял очередь и подошёл спросить: сотрудникам компании стоять в общей очереди?
В этом номере самое интересное за январь начало февраля 2023. В том числе, конечно, о релизах
В этом, 12-м номере мы собрали интересные ссылки со всех Постгрессо, начиная с январского.
PostgreSQL 16: Часть 3 или Коммитфест 2022-11
Вышел очередной обзор Павла Лузанова. Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07 (ru / en), 2022-09 (ru / en).
Postgres-сообщество и образование
Что для вас PostgreSQL-комьюнити?
Живёт своей жизнью затея Райана Буза (Ryan Booz) - его Пятнецы (PGSQL-Phridays). На 3-м этапе этого флеш-моба ход Пэта Райта (Pat Wright). В отличие от обычных пятниц и PG-пятнец Шона Томаса, PGSQL-пятнецы случаются раз в месяц, и эта, 3-я пятнеца в 2022-м последняя. И вот вопрос: желающих приглашают ответить на вопрос: What is the PostgreSQL community to you?
В дни майского HighLoad++ Foundation 2022 наша компания объявила о выпуске Postgres Pro Enterprise 14.2.1. С тех пор вышло несколько обновлений, мы расскажем о наиболее свежем из них - Postgres Pro Enterprise 14.4.1, основанном на PostgreSQL 14.4. Этот выпуск включает все новые возможности, появившиеся в PostgreSQL 14, а также исправления ошибок, вошедшие в недавние корректирующие выпуски PostgreSQL. В данной статье мы рассмотрим ключевые возможности Postgres Pro Enterprise 14.4.1 и «ванильной» СУБД PostgreSQL, также доступные пользователям нашего форка.