В этом, декабрьском номере мы собрали интересные ссылки со всех Postgresso, начиная с январского. Вот с этого: Postgresso 1 (38) Итоги 2021 начинает подводить Энди Павло, тот, который поддерживает Базу данных баз данных: Databases in 2021: A Year in Review   Напомним, что Энди ещё и сооснователь компании «Выдронастройка» — OtterTune, где все ключевые посты занимают выдры — см. их страницу НАША КОМАНДА: A short summary of the Year 2021 in the PostgreSQL ecosystem Обзор сделан авторами с MigOps, поэтому не без уклона в свои разработки. Что не умаляет актуальности [на 2021-й год (как, возможно, догадался проницательный читатель, курсивом набран "декабрьский" текст, а "прямой" текст взят из соответствующих выпусков)]. В этом выпуске есть целый раздел с вот таким названием: В нём, в том числе, о статьях Олега Бартунова: Проклятье TOAST и с каким маслом его ест JSONB и Борьба с TOAST или будущее JSONB в PostgreSQL. Postgresso 2 (39) Изменился тон обложки и появился огромный раздел: А в нём ссылки на фундаментальный документ Oracle to Postgres Conversion и на тоже по-своему фундаментальную полуторачасовую презентацию Петра Петрова Oracle to Postgres Migrations. С тех пор этот раздел появляется чуть ли не в каждом Postgresso. В #6 появилась ссылка на серию из 4 статей Петра Перенос данных с Oracle на PostgreSQL: Основные этапы, несовпадающие типы и форматы данных; Секционирование, временные таблицы и инструменты; Особенности, сложности и способы их преодоления; Особенности и пути обхода, средства конвертации, вспомогательные модули. В разделе впервые: Появилась уже и в бумажном варианте PostgreSQL изнутри — 660 страниц, 29 глав, одно Содержание занимает 11 страниц. По этому поводу 8-го февраля состоялся прямой эфир на Постгрес-вторнике у Николая Самохвалова и Ильи Космодемьянского: Постгрес-вторник с Егором Роговым. Внутри PostgreSQL. Состояние на конец декабря 2022: Переведена на английский 4-я часть PostgreSQL 14 internals Егора Рогова. Осталось перевести 5-ю часть и Заключение. Постоянная ссылка здесь. Русский вариант - PostgreSQL 14 изнутри - здесь.  UPD: свежайшее: новогодний привет от автора. Прямо сегодня: Чтобы нашим читателям было чем заняться на новогодних праздниках, я выложил PostgreSQL 15 изнутри. В новом издании учтены замечания читателей и исправлены опечатки, а  также отражены изменения, произошедшие в версии PostgreSQL 15.  Бумажная версия выйдет в новом году. Postgresso 3 (40) 7 апреля произошла Заморозка функциональности. Главными достижениями недавнего времени стали 2 серии мощных патчей, добавляющие важную функциональность и ещё плотней приближающие к стандартам SQL — SQL/JSON и MERGE.   SQL/JSON patches committed to PostgreSQL 15! Увы, радость преждевременная. В  #8-9 мы читаем: Патчи отложили на PostgreSQL 16 (можно смотреть всю ветку, дискуссия здесь. Чтобы корректно откатить SQL/JSON, пришлось изменить 60 (!) файлов. Среди того, что откатили: SQL/JSON constructors; IS JSON predicate; SQL/JSON query functions; SQL JSON functions; JSON_TABLE.   Ну а в #10 мы узнаём вот что: Postgres Pro Standard 15.0.1 — они возвращаются Об этом релизе расскажем подробнее — там важные изменения. И важнейшее из отличий — SQL/JSON: в версию Pro вошли патчи, которые откатили в PostgreSQL 15. А их очень много, и есть существенные. В документации новшества, связанные с SQL/JSON, вошли в раздел 9.16. Функции и операторы JSON. Теперь всё о (SQL) JSON(B) сгруппировано в документации так: 9.16.1. Обработка и создание данных JSON9.16.2. Язык путей SQL/JSON9.16.3. Функции и выражения SQL/JSON9.16.4. JSON_TABLE (это точно last-but-not-least). UPD: коллеги подсказывают, есть свежие новости: Амит Лангот (Amit Langote, EDB, автор секционирования) взялся довести эти патчи до 16-й версии. И не на пустом месте. Основную проблему (обработка ошибок вызова функций без использования вложенных транзакций) уже решил и закоммитил Том Лейн (Tom Lane). Как и еще десяток последующих патчей. Возвращаемся, однако, в март: Merge: До появления MERGE INTO при миграции с Oracle в Postgres его приходилось имитировать. Например, в статье Из Oracle да в Postgres есть пример с RETURNING и WITH. В 2015, в PostgreSQL 10, появился INSERT … ON CONFLICT DO … В 2018 в PoostgreSQL 11 чуть не попал MERGE. Но из-за проблем патч откатили обратно. Это была настоящая драма, почти детективная история, и мы об этом писали в Битва при MERGE. Хроника с выводами и моралью. Бился за MERGE глава компании 2ndQuadrant (теперь в EDB) Саймон Риггс (Simon Riggs), он настойчиво и изобретательно, всеми силами пытался протащить в версию патч, реализующий синтаксис команды MERGE. И вот — свершилось! Документация прилагается. Postgresso 4 (41) Тема, которая не скоро устареет. RelationalAI Raises $122M to Redefine How Intelligent Data Apps Are Built PostgresML Между прочим, старушка Vertica, запущенная ещё Майклом Стоунбрейкером в 2005-м, теперь позиционируется как платформа продвинутой аналитики и машинного обучения. Postgresso 5 (42) В этом номере много о конференциях: PGConf.Russia 2022 HighLoad++ Foundation 2022 PGCon 2022 (Канада) В разделе Introducing AlloyDB for PostgreSQL и далее в этом разделе впервые появляется Neon: SELECT ’Hello, World’. Serverless Postgres built for the cloud Напомним: Сооснователи компании — Хайкки Линнакангас (Heikki Linnakangas, коммитер PostgreSQL) и Стас Кельвич, в команде много знакомых фамилий российских разработчиков. Из западных звёзд — Питер Гейган (Peter Geoghegan, основной (major) контрибьютор и коммитер PostgreSQL). С тех пор Neon не раз появлялась в Postgresso. Но майское описание осталось самым подробным. Последнее в 2022 не далее, как в #11: Neon's Serverless Postgres Platform Now Live to All Проект, о котором мы относительно подробно писали в Postgresso #5 (42), продолжает развиваться. Приглашения теперь больше не нужны, можно регистрироваться просто с экаунтом Google или Githab. Ну и на закуску в том же разделе: Let's build a distributed Postgres proof of concept и toyDB. Postgresso 6 (43) Slow queries and slow transactions  5-го июля Николай Самохвалов (Postgres.ai) и Майкл Кристофайдис (Michael Christofides, основатель pgMustard) представили свой аудио-проект Postgres FM (дополняющий Postgres TV Николая и Ильи Космодемьянского) Да, неравнодушны мы к журфиксам, к дням недели. Позже от вторников и четвергов перешли к ПятнЕцам: Живёт своей жизнью затея Райана Буза (Ryan Booz) - его Пятнецы (PGSQL-Phridays). На 3-м этапе этого флеш-моба ход Пэта Райта (Pat Wright). В отличие от обычных пятниц и PG-пятнец Шона Томаса, PGSQL-пятнецы случаются раз в месяц, и эта, 3-я пятнеца - последняя в 2022-м. Но это уже #11 - забежали вперёд. Почитайте сначала #6 - он вышел объёмный и разнообразный. И опять UPD: Генриетта Домбровская не согласилась с тем, что эта пятнеца последняя и уже запустила 4-ю фазу флешмоба: PGSQL Phriday #004: PostgreSQL and Software Development.  Postgresso 7 (44) PostgreSQL 16: Часть 1 или Коммитфест 2022-07  Еще не вышла официально 15-я версия, но уже закончился первый коммитфест 16-й. И мы можем посмотреть на самые интересные изменения — пишет автор обзора Павел Лузанов. Советуем за обзорами коммитфестов Павла Лузанова следить всегда. И показывать англоговорящим коллегам английские версии (они довольно оперативно переводятся, спасибо Александру Мелешко). Итак, по Postgres 16: Коммитфест 2022-07 (ru / en), Коммитфест 2022-09 (ru / en), Коммитфест 2022-11 (ru / en). В эту рубрику попали: How To Corrupt Your PostgreSQL Database  Chaos testing of a Postgres cluster managed by the Zalando Postgres Operator PostgreSQL JDBC versions 42.4.1/42.2.26 Security Update  (необычная дыра в безопасности) и ChaosDB, который вообще не DB. А что это? Вот и почитайте, если ещё не читали. Postgresso 8-9 (45-46) PostgreSQL 15 Released! Официальный выход 15-й, до этого была бесконечная серия Beta и RC, в которых, впрочем, и происходили важнейшие события (отмены - см. выше, #3). В этом сдвоенном номере случился огромный (и, смеем надеяться, полезный и интересный) раздел - и в нём ссылки на классиков: Architecture of a Database System, The Design Of Postgres, Database System Concepts, плейлисты CMU Group с многочисленными лекциями,   серия Foundations and Trends in Databases. И о парочке Pagila / Sakila, и приглашение поиграть в Learn Postgres at the Playground, и присоединиться к PostgresPro EDU.  - эта рубрика существует пока только в #8-9: Distributed Postgres goes full open source with Citus: why, what & how  (открытие) Removal of Heroku free product plans (закрытие) А жаль, пожалуй. Можно было в неё же подгрузить вот эту новость из #6: Citus 11 for Postgres goes fully open source, with query from any node А вот раздел не уникален, но там немало информации для интересующихся. Здесь собралась уже целая коллекция биографий зверушек, помогавших разрабатывать Postgres. Недавние : Холли (курица), Эмба (пёс), Milo (котик). Статистически наибольший вклад в Postgres внесли собаки. В сентябре этот выдающийся проект по каким-то причинам замёрз. Postgresso 10 (47) Postgres Pro Standard 15.0.1 — они возвращаются Они - это те самые функции SQL/JSON. Но, оказывается, придумали ещё и BSON: How FerretDB stores BSON in JSONB  - наша экспериментальная рубрика, можно сказать. Читать предлагалось: Logical Replication Improvements in PostgreSQL-15 Амита Капилы (Amit Kapila) и обзоры коммитфестов Павла Лузанова (2021-07, 2021-09, 2021-11), на чтении которых мы настаивали выше. Цель такого параллельного чтения - наглядно показать читателю, зачем такие обзоры делаются, в чём не пересекаются с тематическими статьями, а в чём - выходит - пересекаются. Ищем имена с опечатками в PostgreSQL   PGroonga 2.4.1  - тоже рубрика уникальней некуда. NULL-значения в PostgreSQL: правила и исключения Алексей Борщев преобразовал свой доклад на PgConf.Russia 2022  в статью. На мой вкус это был один из самых увлекательных докладов  (может, самый). Пересказывать не буду: читайте, смотрите, если можете  (слайды доклада доступны всем, а видео тем, у кого есть личный кабинет  на конференции). А 4 ноября Чарли Батиста (Charly Batista, Percona) опубликовал статью: PostgreSQL: Are All NULLs the Same? - о нём пишем не часто (может и зря) Сравнение процессора Байкал-S и HiSilicon Kunpeng 920 Postgresso 11 (48)  - опрос, который устроил Пэт Райт (Pat Wright) в финале флешмоба Райана Буза (Ryan Booz).  - то есть пока что не догнал и в ближайшие годы не догонит "классичесские" СУБД. NoSQL Databases Gain Usability, Speed Cassandra to Get ACID Transactions via New Accord Consensus Protocol   Databricks SQL Now GA, Bringing Traditional BI to the Lakehouse - в данном случае это Instacart Instacart on Dropping Postgres for Amazon DynamoDB Компания Instacart перешла с Postgres на DynamoDB. Разобраться в причинах этого неприятного перехода было бы полезно. Добавим уж ссылку, не попавшую в предыдущие наши выпуски, будем считать, что это в Декабрьском: I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS А вот и ... Это уже почти рекурсия. В этом номере мы решили напомнить о том, что публиковали за год. Какие-то из событий/статей декабря 2022 попадут уже в январский номер. Всё же: не одни мы подводим итоги 2022. Вот и  Postgres Weekly Issue 486: : The Best of Postgres Weekly in 2022 А вот Кирилл Боровиков aka Kilor: PostgreSQL в «Тензоре» — публикации за год Пожалуй, всё: не смеем отвлекать от приготовлений к встрече Нового Года.  С наступающим 2023 годом! Да будет он лучше нынешнего!