<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PG Whisperer / Магия PostgreSQL</title>
    <link>https://pgwhisperer.ru/</link>
    <description>Recent content on PG Whisperer / Магия PostgreSQL</description>
    <generator>Hugo</generator>
    <language>ru</language>
    <lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://pgwhisperer.ru/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Просто сделать сложно, сложно сделать просто.</title>
      <link>https://pgwhisperer.ru/posts/2026/the-queue-did-not-need-a-philosopher/</link>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://pgwhisperer.ru/posts/2026/the-queue-did-not-need-a-philosopher/</guid>
      <description>&lt;p&gt;Здравствуйте, мои маленькие любители программирования. Сегодня мы поговорим о простоте.&lt;/p&gt;&#xA;&lt;p&gt;Нет, Петров, не о той, что Sancta Simplicitas (кстати, вопреки расхожему мнению, фразу вряд ли произнёс Ян Гус). А о той, что пропадает при увеличении &lt;a href=&#34;https://en.wikipedia.org/wiki/No_Silver_Bullet&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;акцидентной (побочной) сложности&lt;/a&gt; решения.&lt;/p&gt;&#xA;&lt;h3 id=&#34;исходные-данные&#34;&gt;&#xA;  Исходные данные&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%d0%b8%d1%81%d1%85%d0%be%d0%b4%d0%bd%d1%8b%d0%b5-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Ссылка на заголовок&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Ссылка на заголовок&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Есть в БД простая таблица-очередь для хранения списка отложенных задач. У каждой задачи есть название, набор параметров, ключ дедупликации и назначенное время старта&lt;/p&gt;</description>
    </item>
    <item>
      <title>Когда есть индексы, но нет понимания</title>
      <link>https://pgwhisperer.ru/posts/2026/indexes-without-understanding/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://pgwhisperer.ru/posts/2026/indexes-without-understanding/</guid>
      <description>&lt;p&gt;Здравствуйте, мои маленькие любители программирования. Сегодня мы поговорим о недопонимании.&lt;/p&gt;&#xA;&lt;p&gt;Да, Васечкин, Маша не всегда понимает твои знаки внимания, и иногда даже игнорирует их. Как и наша сегодняшняя героиня - База Данных - которая не поняла намёков программиста &lt;em&gt;&amp;ldquo;работай быстрее, ну пожалуйста&amp;rdquo;&lt;/em&gt;, и продолжала методично тратить свои ресурсы на, казалось бы, простой запрос.&lt;/p&gt;&#xA;&lt;h3 id=&#34;расклад&#34;&gt;&#xA;  Расклад&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%d1%80%d0%b0%d1%81%d0%ba%d0%bb%d0%b0%d0%b4&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Ссылка на заголовок&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Ссылка на заголовок&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Выделенная таблица в БД с простой структурой. В таблице мы храним некий каталог ресурсов со счётчиком ссылок на ресурс. Когда счётчик уменьшается до нуля, то спустя какое-то время запись удаляется.&lt;/p&gt;</description>
    </item>
    <item>
      <title>История о том, как один пропущенный JOIN превратил 50 записей в миллионы</title>
      <link>https://pgwhisperer.ru/posts/2026/lost-join/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://pgwhisperer.ru/posts/2026/lost-join/</guid>
      <description>&lt;p&gt;Здравствуйте, мои маленькие любители программирования. Сегодня мы поговорим о важности инструкций.&lt;/p&gt;&#xA;&lt;p&gt;Нет, Петров, твою должностную инструкцию мы обсудим, когда у тебя появится должность, а с ней и обязанности. Сегодня речь пойдёт об инструкциях для ORM. И хотя звучит это не так важно, как ДИ, порой последствия бывают куда серьёзнее.&lt;/p&gt;&#xA;&lt;h3 id=&#34;проблемный-sql&#34;&gt;&#xA;  Проблемный SQL&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d0%bd%d1%8b%d0%b9-sql&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Ссылка на заголовок&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Ссылка на заголовок&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Итак, мониторинг медленных запросов сообщил нам, что поиск последней записи для пользователя занимает &lt;strong&gt;десятки секунд&lt;/strong&gt;. Итоговый SQL выглядел примерно так:&lt;/p&gt;</description>
    </item>
    <item>
      <title>О проекте</title>
      <link>https://pgwhisperer.ru/about/</link>
      <pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://pgwhisperer.ru/about/</guid>
      <description>&lt;p&gt;Привет, я Трясцын Александр, Senior Backend Engineer &amp;amp; Database Performance Lead.&lt;/p&gt;&#xA;&lt;p&gt;Сейчас, когда мир захлёстывает волна ИИ-истерии, само будущее профессии «инженер-программист» находится по угрозой. Если в профессии не будет устойчивого притока молодых умов и горящих глаз -&#xA;некому будет заменить седых синьоров.&lt;/p&gt;&#xA;&lt;p&gt;Я не верю, что ИИ это окончательное решение «человеческого вопроса» в IT. Я хочу верить, что всегда найдутся люди,&#xA;идущие наперекор. Тем, кто хочет отличать хороший код от плохого, кто готов разбираться в спагетти-легаси,&#xA;кто просто любит программировать - и посвящён, в итоге, этот проект. Если же я ошибся, и ИИ действительно вытеснит однажды&#xA;«белковый кодинг» - написание материалов к проекту даёт мне надежду отдалить наступление деменции.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
