Robins Tharakan: Testing PostgreSQL on Debian/Hurd: A Windows + QEMU Adventure
Aug. 14th, 2025 02:29 pm![[syndicated profile]](https://www.dreamwidth.org/img/silk/identity/feed.png)
In this article, I explore how CloudNativePG 1.27 enhances PostgreSQL liveness probes, including primary isolation checks that mitigate split-brain scenarios and integrate seamlessly with Kubernetes. We also discuss how these improvements lay the groundwork for advanced features like quorum-based failover while maintaining stability, safety, and community-driven decision-making.
PostgreSQL Hacker Helper is a VS Code extension for developing PostgreSQL source code. A couple of days ago (August 9th), one year has passed since the release of version 1.0.0.
Initially, it was a utility for dynamically calculating expressions and casting variables, but after a while I realized that not everything is so simple. The main catch is that there are types (if you can say so) that require special treatment.
The most striking example is a List, a dynamic array. What's so special about it? Firstly, there is only one data structure, but inside it it stores (either-or) a pointer/int
/TransactionID
/Oid
. Secondly, its implementation depends on the version. Previously, it was implemented as a linked list, but today it is an array.
Another interesting example is Value
. Today, this structure does not exist, as it has been split into separate String, Integer, Float, Boolean, and BitString (src/include/nodes/value.h). This also violates the initially beautiful picture, as you have to add (complex) logic - the name of the structure does not correspond to the type of the stored node.
I've added a lot of features this year:
Relids
type
pgindent
pprint
/nodeToString
)
If we talk about non-functional features:
What I remember most was the addition of CodeLLDB debugger support. I've been doing this for 5 days from morning to night. At the same time, I added testing.
The most difficult part of all this is supporting older versions of PostgreSQL. For the exten
[...]Одним из самых интересных и загадочных персонажей в современной России является Кирилл Дмитриев. Он мой ровесник, на этом сходство по уровню крутости заканчивается.
Дмитриев - выпускник Стенфорда и Гарварда, 15 лет прожил в Штатах, работал в Голдман Саксе и Маккинзи. Имеет безупречные компетенции и репутацию в сфере инвестиций, поэтому возглавляет Российский фонд прямых инвестиций (РФПИ). Кстати, под руководством Дмитриева РФПИ в пять раз приумножил бабло, вложенное государством в капитал фонда. А еще кстати - он до этого пять лет был главой в американском фонде для инвестиций в Россию.
Он мега-монстрический инвестиционный банкир, только его работодатель теперь - Россия. Прекрасно, что человек такого уровня защищает наши интересы и вкладывает наши деньги с умом. Я за ним слежу еще со времен ковида, когда он появился на радаре, когда он сыграл ключевую роль в создании и продвижении вакцины Спутник за бугром.
А сейчас Дмитриев появляется в новостях, потому что он является одним из главных переговорщиков с американцами с нашей стороны. Он еще с 2016 года отстраивал каналы коммуникаций с командой Трампа (чему посвящены целых 12 страниц в расследование Мюллера). Надежда на потепление с США, важные встречи с американцами - в том числе и его заслуга. С учетом текущей ситуации в мире (пиздец) это очень серьезное достижение.
Самое смешное, как Дмитриев делает вид, что говорит с акцентом в стиле "лет ми спик фром май харт". Русский колорит помогает заговаривать зубы буржуям.
Еще его команда коряво и редко ведет его инстаграм - https://www.instagram.com/kadmitriev - там надо, конечно, не про котов постить, а фоточки Аляски выкладывать и писать для нормальных людей, а не только иностранных инвесторов.
Расширению PostgreSQL Hacker Helper исполнился год.
Это расширение VS Code для разработки исходного кода PostgreSQL. Почти год назад я сделал пост о его создании, а буквально пару дней назад (9 августа) наступил год со дня релиза 1.0.0 версии.
Изначально, это была утилита для динамического вычисления выражений и каста переменных, но спустя время я понял, что не все так просто. Главная загвоздка в том, что существуют типы (если так можно сказать), которые требуют особого обращения.
Самый яркий пример - это List
, динамический массив. Что в нем такого особенного? Во-первых, структура данных одна, но внутри себя он хранит (либо-либо) указатель/int/TransactionId/Oid. Во-вторых, его реализация зависит от версии - раньше он был реализован как связный список, а сегодня - это массив.
Еще один занятный пример - Value
. Сегодня этой структуры нет, так как она разбилась на отдельные String
, Integer
, Float
, Boolean
и BitString
(src/include/nodes/value.h). Это также нарушает изначально красивую картину, так как приходится добавлять логику - название структуры не соответствует типу хранимого узла.
За этот год я добавил множество фичей:
Рендеринг выражений (переменные, представляющие выражения отображаются выражением, которое они представляют)
Отображение содержимого хэш-таблиц
Указатели на отношения из переменных типа Relids
Форматирование файла с помощью pgindent
Бутстраппинг новых расширений (создание шаблонных файлов)
Дамп представления узлов в лог или отдельный текстовый файл (через pprint
/nodeToString
)
Если же говорить о нефункциональных особенностях:
Большая расширяемость за счет файла конфигурации
Поддержка нескольких расширений отладчиков
Тестирование и CI-пайплайн для этого
Больше всего мне запомнилось добавление поддержки отладчика CodeLLDB. Этим я занимался 5 дней с утра до ночи. В то же время и добавил тестирование.
Самое сложное из всего этого - поддержка старых версий PostgreSQL. Для работы расширения я полагаюсь на динамическое вычисление функций в отладчике, но разные мажорные релизы могут ломать бинарную совместимость и некоторые функции могут быть удалены. Уже не помню сколько раз часами искал обходные пути для реализации какой-то функциональности.
Глядя на все это осознаю, что теперь это можно назвать целой IDE для PostgreSQL. Хотя и кажется, что все что можно было написать уже сделано, но постоянно нахожу новые возможности для его развития.
Ссылки: репозиторий и расширение.
P.S. За это время у меня накопилось множество историй о том, как я это расширение писал и с какими проблемами столкнулся. Если интересно почитать об этом - дайте знать!
Читать дальше →A short summary of Free PostgreSQL® services in the cloud as of August 14th 2025
Provider | Free Tier Highlights | Best For |
---|---|---|
Aiven | Dedicated VM, full tools, 1 GB RAM + storage | Production-like prototyping |
Neon | 10 projects, 0.5 GB storage, serverless, branching | Modern development workflows, serverless apps |
Fly.io | 3 GB storage, 160 GB outbound | Lightweight global apps |
Render.com | 1 GB, 97 connections, daily backups | Small apps needing more capacity |
Amazon RDS | 20 GB + backups, 750 hrs/month | Temporary usage via AWS Free Tier |
Supabase | 500 MB storage | Small prototypes |
Многие люди уверены, что растения очищают воздух. Они даже верят, что домашние растения очищают воздух в квартире. Им кажется, что если на подоконник поставить не один горшочек с фиалочкой, а десять горшков с цветами, то в комнате будет лучше воздух.
Ну пиздец. И ведь во многих других вопросах эти люди вполне разумны и не исповедуют средневековые предрассудки и заблуждения.
Хотя что я усложняю. Многие ведь идут в церковь трехлитровыми банками с водой. Им кажется, что заряжать воду - шаманство, а вот освящать - это рационально.
Когда я учился в школе № 583, у меня была училка по русскому - настоящая фашистка. Она заставляла каждый день делать не одну домашку, а две. Это был пиздец! Зато это навсегда улучшило меня. И именно ей я обязан своей грамотности (далеко не идеальной, но не такой уж и плохой на фоне 98 % сограждан).
Как-то раз она задала каждому выучить по три стихотворения Пушкина. Я был в школе так же туповат, как и сейчас, но при этом не менее хитрожоп. Что сподвигло на поиск самых коротких стихов. И я, листая на рисовой бумаге ПСС, искал самые простые, короткие и несложные стихи АС.
Например:
Воды глубокие
Плавно текут.
Люди премудрые
Тихо живут.
(1833)
Выучить легко, запоминается на всю жизнь, можно блеснуть в любой компании. И при этом не доебешься - целый стих Пушкина!
А вы что со школы помните?
30 лет без дизайна и миллиард в кассе
На днях я рассказывал историю о том, как в 2004-м «улучшил» простую гостевую книгу, заменив ее на «правильный» форум и этим убил живое сообщество. Главный вывод был в том, что нельзя ломать работающую систему, не поняв, какую настоящую задачу она решает для пользователей.
А сегодня я наткнулся на статью, которая служит идеальной иллюстрацией этого принципа в промышленных масштабах. Речь о Craigslist. Ссылка на статью откуда я вообще узнал про этот сайт.
Для тех, кто не в курсе: Craigslist - это что-то типа Авито, но в США, т.е. такая гигантская доска объявлений. Ее дизайн застрял где-то в 1998 году: синие ссылки, простейшая верстка, ноль графики. По любым современным меркам UI/UX - это катастрофа. При этом компания с крошечной командой зарабатывает сотни миллионов (а по некоторым оценкам - более миллиарда) долларов в год. Работает там от силы 50 человек (!) Если пересчитаем выручку, то окажется, что на каждого сотрудника приходится 4 млн. долларов в год (!) Очень круто!
И тут я смотрю на Craigslist и понимаю: их «ужасный» сайт — это моя «неудобная» гостевая книга, только в масштабе всей Америки. Они поняли то, чего не понял я в 20 лет, и не стали «чинить» то, что не сломано.
Почему этот «примитивный» дизайн работает и приносит миллиарды?
Скорость. Сайт загружается мгновенно. Нет тяжелых фреймворков, мегабайтов JavaScript и аналитических скриптов. Чистая функция.
Плотность информации. Никаких баннеров, всплывающих окон и модных карточек. Только текст и ссылки. Вы видите максимум полезной информации на одном экране.
Отсутствие трения. Хочешь разместить объявление? Нажимай и размещай. Не нужна регистрация (как я понял), подтверждение почты и двухфакторная аутентификация, чтобы продать старый стул. Сервис не мешает тебе делать то, зачем ты пришел.
Привычка. Миллионы людей пользуются им десятилетиями. Они знают каждую ссылку наизусть. Любой редизайн вызовет у этой аудитории не восторг, а гнев. Они потеряют свой привычный и предсказуемый инструмент.
Мой «улучшенный» форум вводил трение: регистрация, создание тем, сложная структура. Я убил легкость и анонимность. Точно так же любой «современный» редизайн Craigslist с React, модными анимациями и персонализацией убьет его главное преимущество - скорость и простоту.
Вывод для любого IT-руководителя:
Это вечный соблазн для любого технаря — переписать старое, «кривое», но работающее легаси на новый, блестящий стек. Нам кажется, что мы сделаем «лучше». Но главный вопрос: «лучше» для кого? Для вас или для пользователя, который просто хочет за 3 секунды решить свою задачу?
Craigslist - это гениальный пример бизнес-прагматизма. Он доказывает, что иногда лучшая фича — это ее отсутствие. А самый ценный актив компании - это привычка пользователя, которую нельзя ломать без крайней необходимости.
А в вашей практике есть свой внутренний «Craigslist»? Старый, неудобный, но незаменимый сервис, который все мечтают переписать, но боятся трогать?
---
Понравилась эта история? Это пример того, как я анализирую ошибки и извлекаю из них практические уроки. В моем ТГ канале Код ИТ-директора я гораздо чаще делюсь подобными мыслями, короткими кейсами и полезными инструментами, которые не всегда доходят до формата большой статьи.
Там — больше «живых» заметок из окопов управления IT-бизнесом и возможность напрямую задать вопрос.
Подписывайтесь, что бы получать больше инсайтов без воды Тыц
Читать дальше →Скажем, когда я выжимаю штангу семь раз с паузами внизу по три секунды, я сбиваюсь со счета.
...четыре
...раз-два-три
...так, блять, это было три или четыре?
Поэтому я придумал систему, где нельзя запутаться. Секунды я считаю словом "пым":
...четыре
...пым-пым-пым
...пять
...пым-пым-пым
Не благодарите.
At Percona, we believe that great open source software is built with the Community, not just for it. As we plan the next iteration of pg_stat_monitor, our advanced PostgreSQL monitoring extension, we’re taking a closer look at the current feature set and how it aligns with real-world usage. In open source, the community isn’t just a user base, it’s the most important stakeholder. While we set the vision, your feedback is the compass that guides us. Your experiences, bug reports, and feature requests are what validate our direction and keep us focused on what matters most. Without your active involvement, it’s impossible to build a tool that truly solves the problems you face every day. Your input ensures pg_stat_monitor evolves in a way that is both innovative and genuinely useful.
Обожаю проглядывать говнозаголовки на новостных сайтах из раздела "наши партнеры". Это никакие не партнеры, а просто уебанская кликбейтная замануха, и мне особенно удивительно, что даже приличные издания не брезгуют это говно ставить у себя на сайты.
- С 23 Июня каждый пенсионер России с больным сердцем и высоким кровяным давлением имеет право…
- Варикоз исчезнет через 6 дней раз и навсегда благодаря этому методу! Перед сном...
А особенно прикольно, что по геолокации подставляют город, где сидишь в сети.
- Юная богачка "взорвала" город Москва, показав схему обогащения: "Мой доход растет каждый день!"
Если смотреть из далекой деревни, эффект особенно смешной. Иногда геолокация не справляется и тогда показывают что-то типа "Юная богачка "взорвала" [не определено], показав схему обогащения".
Все эти низкопробные сайты, где висят статьи про избавление от варикоза за неделю и подробности из жизни Пугачевой, конечно, это самый недостойный отстой.
Чтение топонимов на знаках — отдельный вид развлечения. Если сидеть и смотреть карту, ничего подобного не ощутишь. Но когда едешь, даже самый невинный топоним может вызвать восторг и веселье: «О, смотри, Я-хрень-га!» (река в Вологодской области).
Некоторые топонимы хочется переделать. Качество картинки так себе, снимал на видеорегистратор, заодно и убедился, что номера впереди идущих машин на сколько-нибудь вменяемом расстоянии не видны.
Если бы это была Московская область, я бы не удивился. Но поскольку это Архангельская, всё немного не так:.
А вот, например, страшное:
Но были бы у страха глаза поменьше, они увидели бы всё как надо:
СИБУР запустил в Москве метропоезд-музей. У него больше смысла, чем у половины музеев.
Пять вагонов. Полимеры, тетрис, кроксы, трехмерные почки. История человечества от граммофона до аэротакси. Катается по синей линии.
Это музей, в который не надо ходить, он сам везет. Сделано пиздато. Тот случай, когда жаль, не я придумал - а ведь я фанат метро и полимеров.
Фотки: где-то спиздил.
Еду со знакомыми в Южную Африку и приглашаю составить компанию. Программа весьма насыщенная - летаем на вертолете, смотрим на пингвинов и китов, зарулим на органическую винодельню, устричную ферму и посетим тауншипы.
Кстати, во многие места сложно попасть туристам, но мы там будем!
А еще будем каждый день общаться и все обсуждать! Никаких случайных попутчиков не будет. Только те, кто шарит!
Количество мест ограничено. Полная программа и бронь по ссылке: http://insidersontour.com/southafrica
Это не реклама, это приглашение для своих.
В 2014 году мы задизайнили прекрасный и красивый проект - коллекцию крышек канализационных люков для Москвы с разными стилизациями городского герба (даже текстом - https://www.artlebedev.ru/moscow/manhole/).
На нас тут же напали кретины из "Союза православных хоругвеносцев", которые обвинили нас в том, что мы кладем святого (Георгия победоносца) на колодцы с говном и предлагаем всем топтать его ногами.
Мы попытались рассказать, что городской герб на городском имуществе - это не оскорбление, а гордость. И так делают в огромном количестве городов, даже в тех, где на гербе - святой. Но общество было решительно настроено против, даже многие люди, которые казались мне разумными.
Общественно-политической газета Щелковского района и городов Фрязино и Лосино-Петровский "Щелковчанка": публиковала стихи:
Под ногами святыня столицы лежит...
Если совесть позволит, топчите!
Неужели врагами мы стали себе,
И Господь не идёт уже с нами -
Коль позволил безликой, бездушной толпе
Попирать лик святого ногами?
Ну и когда пошли подстрекательства и публикации в духе 1930-х годов, стало понятно, что идея преждевременная.
Но тут вдруг как ни в чем не бывало на ВДНХ обнаружились люки с московским гербом! Ура, мы снова цивилизованное общество!
Записи из архива:
Люки для Москвы - https://tema.livejournal.com/1804819.html
Кретины атакуют - https://tema.livejournal.com/1810850.html
Изображения городских гербов со святыми на люках - https://tema.livejournal.com/1814177.html
Рубрика "Бегство в бездарность" - https://tema.livejournal.com/1826431.html