<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>SQL-Ex blog</title>
    <link>https://sql-ex.ru/blogs/</link>
    <description>Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.3.5 - http://www.s9y.org/</generator>
    <pubDate>Sat, 18 Jul 2026 11:39:01 GMT</pubDate>

    <image>
    <url>https://sql-ex.ru/images/logo.jpg</url>
    <title>RSS: SQL-Ex blog - Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</title>
    <link>https://sql-ex.ru/blogs/</link>
    <width></width>
    <height></height>
</image>

<item>
    <title>Почему в Postgres нет synchronous_commit=remote_receive?</title>
    <link>https://sql-ex.ru/blogs/?/Postgres-synchronous_commitremote_receive.html</link>
    
    <comments>https://sql-ex.ru/blogs/?/Postgres-synchronous_commitremote_receive.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3471</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3471</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://www.blogger.com/profile/02748267202194708735&quot;&gt;Robins Tharakan&lt;/a&gt;,&lt;a href=&quot;https://www.robins.in/2026/06/why-postgres-doesnt-have-remotereceive.html&quot;&gt;Why Postgres Doesn&#039;t Have synchronous_commit=remote_receive?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В распределённых средах баз данных баланс между долговечностью и производительностью — это постоянная борьба. Параметр &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;synchronous_commit&lt;/span&gt;&lt;/code&gt; в PostgreSQL находится в центре этого вопроса, давая администраторам возможность выбирать, когда именно команда &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;COMMIT&lt;/span&gt;&lt;/code&gt; возвращает успех клиенту.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Идея &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;remote_receive&lt;/span&gt;&lt;/code&gt; родилась из простого вопроса: даёт ли пропуск записи на диск на резервном сервере измеримый, реальный прирост производительности? Ожидая только получения байтов WAL в памяти резервного сервера, можно ли получить значительное улучшение по сравнению с &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;remote_write&lt;/span&gt;&lt;/code&gt;? Я взялся реализовать и протестировать эту возможность, чтобы выяснить это.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;За этим последовало путешествие по задержкам сети, кэшу страниц ОС, «перегрузке» планировщика ЦП и шуму при бенчмаркинге. Вот подробности реализации, тестов, первоначальных аномалий и итоговых результатов.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/Postgres-synchronous_commitremote_receive.html#extended&quot;&gt;Continue reading &quot;Почему в Postgres нет synchronous_commit=remote_receive?&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 18 Jul 2026 13:22:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3471.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: effective_cache_size</title>
    <link>https://sql-ex.ru/blogs/?/GUC-effective_cache_size.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-effective_cache_size.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3470</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3470</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9mB&quot;&gt;All Your GUCs in a Row: effective_cache_size&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Это один из наиболее последовательно неправильно понимаемых параметров PostgreSQL, и непонимание всегда имеет одну и ту же форму: люди верят, что &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;effective_cache_size&lt;/span&gt;&lt;/code&gt; что-то делает с памятью. Он выделяет кэш. Он резервирует оперативную память. Он управляет тем, сколько PostgreSQL держит в памяти. Он не делает ничего из этого. Он не выделяет ничего, не резервирует ничего и вообще не меняет поведение во время выполнения. Это всего лишь одно число, переданное планировщику запросов, и его единственный эффект — изменять то, какие планы планировщик считает дешёвыми. Значение по умолчанию — 4 ГБ, контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;, и он заслуживает большего, чем обычное количество слов, потому что ошибиться с ним так легко и это так тихо и дорого обходится.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-effective_cache_size.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: effective_cache_size&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 18 Jul 2026 12:34:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3470.html</guid>
    
</item>
<item>
    <title>Новости за 2026-07-11 - 2026-07-17</title>
    <link>https://sql-ex.ru/blogs/?/2026-07-11-2026-07-17.html</link>
            <category>Site news</category>
    
    <comments>https://sql-ex.ru/blogs/?/2026-07-11-2026-07-17.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3469</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3469</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;&lt;a class=&#039;let&#039; href=&#039;https://sql-ex.ru/users_page.php?username=gennadi_s&#039;&gt;Автор&lt;/a&gt; усилил проверку задачи 241 (SELECT, рейтинг) и поднял ее сложность до 2 баллов.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Под номером 242 опубликована новая задачи от &lt;a class=&#039;let&#039; href=&#039;https://sql-ex.ru/users_page.php?username=gennadi_s&#039;&gt;gennadi_s&lt;/a&gt; (SELECT, рейтинг, сложность 2 балла).&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Популярные темы недели на форуме&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Топик&amp;#09;&amp;#09;Сообщений&amp;#09;Просмотров&lt;/b&gt;&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/forum.php?F=1&amp;N=241&quot;&gt;241 (SELECT)&lt;/a&gt;&amp;#09;&amp;#09;11&amp;#09;&amp;#09;4&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/forum.php?F=0&amp;N=0&quot;&gt;Guest&#039;s book&lt;/a&gt;&amp;#09;&amp;#09;3&amp;#09;&amp;#09;8&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/forum.php?F=1&amp;N=134&quot;&gt;134 (SELECT)&lt;/a&gt;&amp;#09;&amp;#09;2&amp;#09;&amp;#09;4&lt;br /&gt;&lt;/pre&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/2026-07-11-2026-07-17.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-07-11 - 2026-07-17&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 17 Jul 2026 18:43:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3469.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: dynamic_shared_memory_type</title>
    <link>https://sql-ex.ru/blogs/?/GUC-dynamic_shared_memory_type.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-dynamic_shared_memory_type.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3468</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3468</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9ma&quot;&gt;All Your GUCs in a Row: dynamic_shared_memory_type&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;dynamic_shared_memory_type&lt;/span&gt;&lt;/code&gt; выбирает механизм операционной системы, который PostgreSQL использует для динамической разделяемой памяти — памяти, выделяемой после запуска, в отличие от фиксированной области &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;shared_buffers&lt;/span&gt;&lt;/code&gt;, которая выделяется один раз при загрузке. Контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;postmaster&lt;/span&gt;&lt;/code&gt;, поэтому для изменения требуется перезапуск, а значение по умолчанию выбирается &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;initdb&lt;/span&gt;&lt;/code&gt; в зависимости от поддержки вашей платформы: &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;posix&lt;/span&gt;&lt;/code&gt; в Linux и большинстве Unix, &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;windows&lt;/span&gt;&lt;/code&gt; в Windows. Вероятно, вы никогда не будете устанавливать его намеренно. Однако вы можете столкнуться с проблемой в контейнере, и это часть, заслуживающая вашего внимания.&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-dynamic_shared_memory_type.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: dynamic_shared_memory_type&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 17 Jul 2026 17:04:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3468.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: dynamic_library_path</title>
    <link>https://sql-ex.ru/blogs/?/GUC-dynamic_library_path.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-dynamic_library_path.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3467</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3467</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9ma&quot;&gt;All Your GUCs in a Row: dynamic_library_path&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;dynamic_library_path&lt;/span&gt;&lt;/code&gt; указывает PostgreSQL, где искать загружаемый C-модуль, когда что-то — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;CREATE FUNCTION ... LANGUAGE C&lt;/span&gt;&lt;/code&gt;, команда &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;LOAD&lt;/span&gt;&lt;/code&gt;, запись в &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;shared_preload_libraries&lt;/span&gt;&lt;/code&gt; — указывает библиотеку по простому имени файла без пути. Значение по умолчанию — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;$libdir&lt;/span&gt;&lt;/code&gt;, контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;superuser&lt;/span&gt;&lt;/code&gt;, и большую часть своей жизни этот параметр был тем, к чему никто не прикасался. PostgreSQL 18 дал ему повод снова стать важным, и к этому мы в итоге и придём.&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-dynamic_library_path.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: dynamic_library_path&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 16 Jul 2026 22:09:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3467.html</guid>
    
</item>
<item>
    <title>Столбцы JSONB и TOAST в Postgres: пособие по производительности</title>
    <link>https://sql-ex.ru/blogs/?/JSONB-TOAST-Postgres.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/JSONB-TOAST-Postgres.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3466</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3466</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast/&quot;&gt;Paul Ramsey. Postgres JSONB Columns and TOAST: A Performance Guide&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
PostgreSQL имеет большой набор функций, ориентированных на пользователя, которые работают в самых разных случаях использования — со сложной абстракцией под капотом.&lt;br /&gt;
&lt;br /&gt;
Работа с API и массивами с типом данных jsonb становится все более популярной в настоящее время, и хранение фрагментов данных приложения с использованием jsonb становится общим шаблоном проектирования.&lt;br /&gt;
&lt;br /&gt;
Но зачем разбивать объект JSON на строки и столбцы, а затем восстанавливать его позже, чтобы отправить обратно клиенту?&lt;br /&gt;
&lt;br /&gt;
Ответом является эффективность. PostgreSQL наиболее эффективен при работе со строками и столбцами, и сокрытие структуры данных внутри JSON не позволяет движку работать так быстро, как он мог бы.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/JSONB-TOAST-Postgres.html#extended&quot;&gt;Continue reading &quot;Столбцы JSONB и TOAST в Postgres: пособие по производительности&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 16 Jul 2026 09:03:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3466.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_transaction_deferrable</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_transaction_deferrable.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_transaction_deferrable.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3463</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3463</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9ma&quot;&gt;All Your GUCs in a Row: default_transaction_deferrable&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_transaction_deferrable&lt;/span&gt;&lt;/code&gt; устанавливает значение по умолчанию для атрибута транзакции &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;DEFERRABLE&lt;/span&gt;&lt;/code&gt; для новых транзакций. Значение по умолчанию — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;off&lt;/span&gt;&lt;/code&gt;, контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;, и атрибут, который он задаёт по умолчанию, не делает ничего, если только не выполнены два других условия, — именно поэтому этот параметр заслуживает нескольких сотен слов, а не одного предложения.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_transaction_deferrable.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_transaction_deferrable&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 13 Jul 2026 17:48:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3463.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_transaction_isolation and default_transaction_read_only</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_transaction_isolation-and-default_transaction_read_only.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_transaction_isolation-and-default_transaction_read_only.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3465</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3465</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9ma&quot;&gt;All Your GUCs in a Row: default_transaction_deferrable&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Оставшиеся два из трёх параметров &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_transaction_*&lt;/span&gt;&lt;/code&gt;, завершающие набор, начатый параметром &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_transaction_deferrable&lt;/span&gt;&lt;/code&gt;. Каждый из них устанавливает значение по умолчанию для сеанса для одного из трёх свойств транзакции — уровня изоляции, режима доступа и отложенности, — и для всех трёх правило одинаково: область действия GUC редко является той, которая вам нужна. Интересное содержание заключается в том, что означают значения, и для уровня изоляции это больше, чем думает большинство людей.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_transaction_isolation-and-default_transaction_read_only.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_transaction_isolation and default_transaction_read_only&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 14 Jul 2026 18:20:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3465.html</guid>
    
</item>
<item>
    <title>Аварийное восстановление — это процесс, а не инструмент (Часть 1)</title>
    <link>https://sql-ex.ru/blogs/?/,-1.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/,-1.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3464</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3464</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://richyen.com/&quot;&gt;Richard Yen&lt;/a&gt;, &lt;a href=&quot;https://richyen.com/postgres/2026/06/15/disaster_recovery_is_a_process.html&quot;&gt;Disaster Recovery is a Process, Not a Tool (Part 1)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Когда я работал в Turnitin, мы всё ещё находились на спаде бума доткомов. Все спешили выпускать продукты, и кратковременные сбои, конечно, были нежелательны, но считались нормальной частью работы программного обеспечения в интернете. Если сайт был недоступен несколько минут, вы пожимали плечами, разбирались и исправляли.&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Ландшафт изменился&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Это уже не тот мир, в котором мы живём сейчас. Время безотказной работы стало гораздо более критичным, чем раньше. Пять девяток когда-то были амбициозной целью — теперь четыре девятки для многих команд являются просто ожидаемым стандартом, и даже несколько минут простоя в месяц кажутся большой проблемой. Мы больше не отслеживаем средние значения в наших метриках; мы отслеживаем p99-задержки, потому что нам действительно важно, чтобы последний 1% пользователей получал хороший опыт работы.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Ещё одна вещь, которая изменилась, — это скорость, с которой сбои становятся достоянием общественности. Заметный сбой в вашем сервисе может попасть в социальные сети ещё до того, как ваш дежурный успеет подтвердить получение оповещения. По моему опыту, самые плохие ситуации — это те, когда клиенты узнают о проблеме раньше, чем компания. Это имеет как финансовые, так и репутационные издержки, причём репутационные издержки имеют свойство сохраняться ещё долго после устранения инцидента. Частые сбои подрывают желание пользователей продолжать использовать ваш продукт.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Postgres, конечно, не исключение. Именно в таком мире и должен действовать план аварийного восстановления Postgres.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/,-1.html#extended&quot;&gt;Continue reading &quot;Аварийное восстановление — это процесс, а не инструмент (Часть 1)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 13 Jul 2026 19:43:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3464.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_toast_compression</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_toast_compression.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_toast_compression.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3462</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3462</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lU&quot;&gt;All Your GUCs in a Row: default_toast_compression&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_toast_compression&lt;/span&gt;&lt;/code&gt; определяет, какой алгоритм PostgreSQL использует для сжатия значений, направляемых в TOAST — внестрочное хранилище для значений полей, слишком больших, чтобы помещаться непосредственно на странице кучи размером 8 КБ. Доступны варианты &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;pglz&lt;/span&gt;&lt;/code&gt; и &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;lz4&lt;/span&gt;&lt;/code&gt;; по умолчанию во всех выпущенных на данный момент версиях используется &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;pglz&lt;/span&gt;&lt;/code&gt;; контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;, и его можно переопределить для каждого столбца с помощью опции &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;COMPRESSION&lt;/span&gt;&lt;/code&gt; в &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;CREATE TABLE&lt;/span&gt;&lt;/code&gt; или &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ALTER TABLE&lt;/span&gt;&lt;/code&gt;. Параметр существует начиная с PostgreSQL 14, и более интересный факт заключается в том, что его значение по умолчанию, наконец, скоро изменится.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_toast_compression.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_toast_compression&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 12 Jul 2026 22:05:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3462.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_text_search_config</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_text_search_config.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_text_search_config.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3461</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3461</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lV&quot;&gt;All Your GUCs in a Row: default_text_search_config&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_text_search_config&lt;/span&gt;&lt;/code&gt; определяет конфигурацию полнотекстового поиска, которую используют функции PostgreSQL для полнотекстового поиска, если вы явно не передаёте им конфигурацию. Значение по умолчанию устанавливается командой &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;initdb&lt;/span&gt;&lt;/code&gt; на основе локали кластера; контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;. Конфигурация полнотекстового поиска связывает парсер (который разбивает текст на токены) с цепочкой словарей (которые преобразуют токены в лексемы — например, приводят «бегущий» к «бежать», отбрасывают стоп-слова вроде «и»), и каждый вызов &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;to_tsvector&lt;/span&gt;&lt;/code&gt; и &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;to_tsquery&lt;/span&gt;&lt;/code&gt; нуждается в конфигурации для своей работы. Этот параметр используется теми вызовами, которые опускают явное указание конфигурации.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Это звучит как удобство, и в основном так оно и есть, но этот параметр основан на одном из самых элегантных ограничений PostgreSQL, и именно это ограничение и есть суть данной статьи.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_text_search_config.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_text_search_config&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 11 Jul 2026 11:09:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3461.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_tablespace</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_tablespace.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_tablespace.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3460</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3460</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-defaulttablespace/&quot;&gt;All Your GUCs in a Row: default_tablespace&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Сначала о механике, поскольку она кратка: когда &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_tablespace&lt;/span&gt;&lt;/code&gt; содержит что-либо, кроме пустой строки, он неявно добавляет предложение &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;TABLESPACE&lt;/span&gt;&lt;/code&gt; к каждой команде &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;CREATE TABLE&lt;/span&gt;&lt;/code&gt; и &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;CREATE INDEX&lt;/span&gt;&lt;/code&gt;, в которой это предложение явно не указано, включая индекс, создаваемый для ограничений &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;UNIQUE&lt;/span&gt;&lt;/code&gt; или &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;PRIMARY KEY&lt;/span&gt;&lt;/code&gt;. Значение по умолчанию — пустая строка, что означает «использовать табличное пространство самой базы данных», а контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;. Чтобы иметь мнение об этом параметре, нужно иметь мнение о табличных пространствах, и моё, в 2026 году, таково: в основном не используйте. Мы ещё дойдём до этого. Сначала — особенности.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_tablespace.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_tablespace&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 10 Jul 2026 23:45:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3460.html</guid>
    
</item>
<item>
    <title>Новости за 2026-07-04 - 2026-07-10</title>
    <link>https://sql-ex.ru/blogs/?/2026-07-04-2026-07-10.html</link>
            <category>Site news</category>
    
    <comments>https://sql-ex.ru/blogs/?/2026-07-04-2026-07-10.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3459</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3459</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Лидеры недели&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;&amp;#09;Участник&amp;#09;&amp;#09;w_sel&amp;#09;all_sel&amp;#09;select&amp;#09;dml&amp;#09;Всего&amp;#09;Рейтинг&lt;/b&gt;&lt;br /&gt; Багманов Д.Д.  (Bagmanov_Dinar&amp;#09;20&amp;#09;20&amp;#09;28&amp;#09;11&amp;#09;39&amp;#09;2643&lt;br /&gt; Шибаев  (saah)                &amp;#09;7&amp;#09;57&amp;#09;18&amp;#09;0&amp;#09;18&amp;#09;1234&lt;br /&gt; &lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=869106&#039;&gt;Сафронов П.А.  (Paulus73)     &lt;/a&gt;&amp;#09;5&amp;#09;155&amp;#09;14&amp;#09;0&amp;#09;14&amp;#09;134&lt;br /&gt; Odnokurtsev  (AlFochino)      &amp;#09;3&amp;#09;127&amp;#09;8&amp;#09;59&amp;#09;67&amp;#09;175&lt;br /&gt; Fom  (Kamchatka)              &amp;#09;3&amp;#09;9&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;5634&lt;br /&gt; Smirnov S. (hr)               &amp;#09;3&amp;#09;28&amp;#09;4&amp;#09;0&amp;#09;4&amp;#09;1388&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Претенденты на попадание в TOP 100&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Рейтинг&amp;#09; Участник (решенные задачи, время в днях)&lt;/b&gt;&lt;br /&gt; 134&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=869106&#039;&gt;Paulus73&lt;/a&gt; (155, 15.028)&lt;br /&gt; 140&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=651026&#039;&gt;Rujan&lt;/a&gt; (143, 451.925)&lt;br /&gt; 169&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=233431&#039;&gt;Tigra1&lt;/a&gt; (138, 24.441)&lt;br /&gt; 175&amp;#09;&amp;#09;AlFochino (127, 121.400)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/2026-07-04-2026-07-10.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-07-04 - 2026-07-10&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 10 Jul 2026 19:48:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3459.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_table_access_method</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_table_access_method.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_table_access_method.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3458</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3458</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lN&quot;&gt;All Your GUCs in a Row: default_table_access_method&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Небольшая ручка на очень большой двери. &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_table_access_method&lt;/span&gt;&lt;/code&gt; определяет метод доступа к таблицам — то есть механизм хранения, если использовать слово, которое все на самом деле подразумевают, — который получают новые таблицы, если в &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;CREATE TABLE&lt;/span&gt;&lt;/code&gt; не указано иное. Значение по умолчанию — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;heap&lt;/span&gt;&lt;/code&gt;. Контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;. И для подавляющего большинства кластеров это значение никогда не было иным, потому что для подавляющего большинства кластеров никогда не существовало ничего другого, на что можно было бы его установить. Параметр интересен тем, что он подразумевает: уровень хранения PostgreSQL в принципе подключаем (pluggable).&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_table_access_method.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_table_access_method&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 09 Jul 2026 12:33:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3458.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: default_statistics_target</title>
    <link>https://sql-ex.ru/blogs/?/GUC-default_statistics_target.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-default_statistics_target.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3457</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3457</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lK&quot;&gt;All Your GUCs in a Row: default_statistics_target&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;default_statistics_target&lt;/span&gt;&lt;/code&gt; — один из наиболее рекомендуемых и наименее объясняемых параметров в PostgreSQL. Руководства по настройке говорят: «Увеличьте до 500 для хранилищ данных» с уверенностью, подобной Большой Советской Энциклопедии, и редко поясняют, что означает это число. Значение по умолчанию — 100, диапазон — от 1 до 10 000, контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;user&lt;/span&gt;&lt;/code&gt;, и то, что это число на самом деле контролирует, — размер трёх структур, которые &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ANALYZE&lt;/span&gt;&lt;/code&gt; создаёт для каждого столбца. Давайте посмотрим на эти структуры.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-default_statistics_target.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: default_statistics_target&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 08 Jul 2026 11:17:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3457.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: семейство debug_*</title>
    <link>https://sql-ex.ru/blogs/?/GUC-debug_.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-debug_.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3456</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3456</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-the-debug-family/&quot;&gt;All Your GUCs in a Row: the debug_* family&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Двенадцать параметров имеют общий префикс &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;debug_&lt;/span&gt;&lt;/code&gt;, и этот префикс несёт смысловую нагрузку: это собственные средства разработки и контроля качества PostgreSQL, доступные в виде параметров времени выполнения, чтобы &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;buildfarm&lt;/span&gt;&lt;/code&gt; и разработчики ядра могли тестировать различные участки кода без перекомпиляции. Павло Голуб (Pavlo Golub), писавший об одном из них, точно сформулировал правильную позицию: «Я никогда-никогда не прикоснусь к параметру времени выполнения с префиксом &quot;debug&quot; в своих производственных кластерах». В основном это правильно. Давайте разберём эти дюжину параметров по тому, что они на самом деле дают, потому что один-два из них тихо полезны, а остальные вы должны разглядывать с безопасного расстояния.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-debug_.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: семейство debug_*&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 07 Jul 2026 17:48:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3456.html</guid>
    
</item>
<item>
    <title>Когда Patroni молча удаляет ваши слоты репликации</title>
    <link>https://sql-ex.ru/blogs/?/Patroni.html</link>
    
    <comments>https://sql-ex.ru/blogs/?/Patroni.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3455</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3455</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://stormatics.tech/author/semabtariq&quot;&gt;Semab Tariq&lt;/a&gt;, &lt;a href=&quot;https://stormatics.tech/blogs/when-patroni-silently-deletes-your-replication-slots&quot;&gt;When Patroni Silently Deletes Your Replication Slots&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Если вы когда-либо оказывались в середине миграции базы данных и внезапно обнаруживали, что ваши слоты логической репликации исчезли, вы знаете, насколько тревожно это ощущение. Никакой очевидной ошибки. Никакого предупреждения. Просто исчезли. Именно это случилось с нами при миграции данных из кластера под управлением Patroni в отдельный кластер PostgreSQL. То, что начиналось как гладкая операция, превратилось в сеанс отладки, который преподал нам важный урок о поведении Patroni после перезапуска.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/Patroni.html#extended&quot;&gt;Continue reading &quot;Когда Patroni молча удаляет ваши слоты репликации&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 07 Jul 2026 16:10:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3455.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: deadlock_timeout</title>
    <link>https://sql-ex.ru/blogs/?/GUC-deadlock_timeout.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-deadlock_timeout.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3454</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3454</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lC&quot;&gt;All Your GUCs in a Row: deadlock_timeout&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Название немного вводит в заблуждение. &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;deadlock_timeout&lt;/span&gt;&lt;/code&gt; — это не время, в течение которого PostgreSQL терпит взаимоблокировку, прежде чем её разорвать, — взаимоблокировки прерываются в тот же миг, как только они обнаружены. Это время, которое процесс ожидает блокировку, прежде чем PostgreSQL вообще удосужится проверить наличие взаимоблокировки. Значение по умолчанию — 1 с, контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;superuser&lt;/span&gt;&lt;/code&gt;, и разрыв между тем, что подразумевает название, и тем, что на самом деле делает параметр, и составляет суть данной статьи.&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-deadlock_timeout.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: deadlock_timeout&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 06 Jul 2026 21:07:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3454.html</guid>
    
</item>
<item>
    <title>Изучаем PostgreSQL вместе с Grant Fritchey: хранилище данных</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-Grant-Fritchey.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-Grant-Fritchey.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3453</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3453</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/postgresql/learning-postgresql-with-grant-data-storage/&quot;&gt;Grant Fritchey. Learning PostgreSQL with Grant: Data Storage&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Если вы размещаете свои базы данных на виртуальной машине (ВМ) или на каком-то большом железе, одним из наиболее узких мест, с которым вы, вероятно столкнетесь в кластерах PostgreSQL, является ввод/вывод. Когда ввод/вывод находится в центре потенциальных проблем производительности, очень важно понимать, как PostgreSQL управляет им. Я собираюсь начать прямо сейчас с того, как данные хранятся на диске. В следующей статье мы обсудим, как выполняется запись и чтение.&lt;br /&gt;
&lt;br /&gt;
Прежде чем погрузиться в детали, я хочу затронуть пару вопросов, связанных с хранением данных в PostgreSQL. Во-первых, &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.red-gate.com/hub/events/postgresql-101-the-top-10-postgresql-extensions-you-need-to-know-about&quot;&gt;расширения&lt;/a&gt;. Некоторые из наиболее впечатляющих расширений напрямую связаны с хранением данных (глядя на &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://github.com/timescale/timescaledb&quot;&gt;TimeScale&lt;/a&gt;). Они могут изменить те основы, которые мы собираемся обсуждать здесь. Коли так, каждое из них требует отдельного обсуждения, чтобы понять, как они влияют на хранение в PostgreSQL.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-Grant-Fritchey.html#extended&quot;&gt;Continue reading &quot;Изучаем PostgreSQL вместе с Grant Fritchey: хранилище данных&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 05 Jul 2026 20:11:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3453.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: DateStyle</title>
    <link>https://sql-ex.ru/blogs/?/GUC-DateStyle.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-DateStyle.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3452</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3452</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-datestyle/&quot;&gt;All Your GUCs in a Row: DateStyle&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;После бездны &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;fsync&lt;/span&gt;&lt;/code&gt; — нечто благодушное. &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;DateStyle&lt;/span&gt;&lt;/code&gt; управляет тем, как PostgreSQL выводит даты и как разрешает неоднозначный ввод дат, и единственное, что вам действительно нужно знать о нём: оставьте его в значении &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ISO&lt;/span&gt;&lt;/code&gt;, а всё остальное — интересные, но маловажные детали.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-DateStyle.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: DateStyle&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 05 Jul 2026 18:10:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3452.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: data_directory_mode</title>
    <link>https://sql-ex.ru/blogs/?/GUC-data_directory_mode.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-data_directory_mode.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3450</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3450</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lc&quot;&gt;All Your GUCs in a Row: data_directory&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В чём смысл этого параметра? &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;SHOW data_directory_mode&lt;/span&gt;&lt;/code&gt; сообщает права доступа Unix на каталог данных — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;0700&lt;/span&gt;&lt;/code&gt; или &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;0750&lt;/span&gt;&lt;/code&gt; — и это всё, что он делает. Он доступен только для чтения; вы не можете его установить. И он сообщает факт, который &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ls -ld $PGDATA&lt;/span&gt;&lt;/code&gt; сообщил бы вам не хуже. Так зачем же он нужен как GUC?&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-data_directory_mode.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: data_directory_mode&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 03 Jul 2026 20:41:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3450.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: data_sync_retry</title>
    <link>https://sql-ex.ru/blogs/?/GUC-data_sync_retry.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-data_sync_retry.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3451</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3451</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lc&quot;&gt;All Your GUCs in a Row: data_sync_retry&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;data_sync_retry&lt;/span&gt;&lt;/code&gt; — это логический параметр, по умолчанию выключен (&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;off&lt;/span&gt;&lt;/code&gt;), и его контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;postmaster&lt;/span&gt;&lt;/code&gt;, так что для его изменения требуется перезапуск. Вы почти наверняка никогда его не измените. Он существует как видимый рубец от самого тревожного события, которое сообщество PostgreSQL когда-либо узнало о своих собственных допущениях относительно долговечности, и чтобы объяснить этот единственный параметр, нам придётся объяснить &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;fsyncgate&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-data_sync_retry.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: data_sync_retry&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 04 Jul 2026 19:26:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3451.html</guid>
    
</item>
<item>
    <title>Новости за 2026-06-27 - 2026-07-03</title>
    <link>https://sql-ex.ru/blogs/?/2026-06-27-2026-07-03.html</link>
            <category>Site news</category>
    
    <comments>https://sql-ex.ru/blogs/?/2026-06-27-2026-07-03.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3449</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3449</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Изменения среди лидеров рейтинга&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Рейтинг&amp;#09;Участник (решенные задачи)&lt;/b&gt;&lt;br /&gt; 20&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=6762&#039;&gt;Dmitriy Varenikov&lt;/a&gt; (251)&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Лидеры недели&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;&amp;#09;Участник&amp;#09;&amp;#09;w_sel&amp;#09;all_sel&amp;#09;select&amp;#09;dml&amp;#09;Всего&amp;#09;Рейтинг&lt;/b&gt;&lt;br /&gt; Никольский И.Ю.  (igoryun)    &amp;#09;9&amp;#09;63&amp;#09;18&amp;#09;11&amp;#09;29&amp;#09;641&lt;br /&gt; &lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=869106&#039;&gt;Сафронов П.А.  (Paulus73)     &lt;/a&gt;&amp;#09;7&amp;#09;150&amp;#09;14&amp;#09;0&amp;#09;14&amp;#09;135&lt;br /&gt; Шибаев  (saah)                &amp;#09;9&amp;#09;50&amp;#09;14&amp;#09;0&amp;#09;14&amp;#09;1452&lt;br /&gt; Gitinomagomedov  (gmansur88)  &amp;#09;5&amp;#09;64&amp;#09;11&amp;#09;1&amp;#09;12&amp;#09;725&lt;br /&gt; fioletovaya  (fioletovaya2)   &amp;#09;2&amp;#09;138&amp;#09;9&amp;#09;0&amp;#09;9&amp;#09;144&lt;br /&gt; Palela D. (Davitapalela)      &amp;#09;4&amp;#09;4&amp;#09;6&amp;#09;20&amp;#09;26&amp;#09;4132&lt;br /&gt; Скоков Б.С.  (leks$$)         &amp;#09;2&amp;#09;37&amp;#09;6&amp;#09;0&amp;#09;6&amp;#09;1325&lt;br /&gt; &lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=6762&#039;&gt;Вареников Д.М.  (Dmitriy Varen&lt;/a&gt;&amp;#09;2&amp;#09;230&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;20&lt;br /&gt; P I.*.  (IrinaPetr)           &amp;#09;2&amp;#09;86&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;520&lt;br /&gt; Odnokurtsev  (AlFochino)      &amp;#09;2&amp;#09;124&amp;#09;4&amp;#09;0&amp;#09;4&amp;#09;253&lt;br /&gt; Vladimirovich V.B.  (vladimirb&amp;#09;2&amp;#09;5&amp;#09;4&amp;#09;0&amp;#09;4&amp;#09;6573&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/2026-06-27-2026-07-03.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-06-27 - 2026-07-03&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 03 Jul 2026 18:33:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3449.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: data_checksums</title>
    <link>https://sql-ex.ru/blogs/?/GUC-data_checksums.html</link>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-data_checksums.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3444</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3444</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lc&quot;&gt;All Your GUCs in a Row: data_checksums&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Параметр только для чтения, подобно &lt;a href=&quot;https://sql-ex.ru/blogs/?/Vsjo_o_GUC_po_porJadku_block_size.html&quot;&gt;block_size&lt;/a&gt;, — команда &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;SHOW data_checksums&lt;/span&gt;&lt;/code&gt; сообщает, включены ли в кластере контрольные суммы страниц, и это единственное взаимодействие, которое предлагает данный GUC. Но, в отличие от block_size, у этого параметра тринадцатилетняя история, которая всё ещё пишется, и эта история и есть предмет данной статьи.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-data_checksums.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: data_checksums&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 01 Jul 2026 15:36:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3444.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: data_directory</title>
    <link>https://sql-ex.ru/blogs/?/GUC-data_directory.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-data_directory.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3448</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3448</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9lc&quot;&gt;All Your GUCs in a Row: data_directory&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;data_directory&lt;/span&gt;&lt;/code&gt; указывает расположение каталога данных кластера — того самого каталога, который подразумевают под &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;$PGDATA&lt;/span&gt;&lt;/code&gt;, содержащего &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;base/&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;pg_wal/&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;global/&lt;/span&gt;&lt;/code&gt; и всё остальное. Контекст — &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;postmaster&lt;/span&gt;&lt;/code&gt;: параметр можно задать в &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;postgresql.conf&lt;/span&gt;&lt;/code&gt; или в командной строке, но никогда во время работы. И, как и небольшое число других параметров, его нельзя установить через &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ALTER SYSTEM&lt;/span&gt;&lt;/code&gt; — по очевидной причине: &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ALTER SYSTEM&lt;/span&gt;&lt;/code&gt; записывает изменения в &lt;code&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;postgresql.auto.conf&lt;/span&gt;&lt;/code&gt;, который находится внутри каталога данных, то есть внутри того самого объекта, который вы пытаетесь указать. Нельзя использовать файл внутри «коробки», чтобы сообщить PostgreSQL, где находится эта коробка.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Эта циркулярная зависимость и составляет всю историю данного параметра, так что давайте разберёмся с ней.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-data_directory.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: data_directory&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 02 Jul 2026 21:37:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3448.html</guid>
    
</item>
<item>
    <title>Настройка производительности в PostgreSQL 17: создание таблиц, вставка 10М записей и обнаружение неиспользуемых индексов</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-17-,-10.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-17-,-10.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3447</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3447</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@jramcloud1/28-postgresql-17-performance-tuning-creating-tables-populating-10m-records-and-detecting-42c9c62c0092&quot;&gt;Jeyaram Ayyalusamy. PostgreSQL 17 Performance Tuning: Creating Tables, Populating 10M Records, and Detecting Unused Indexes&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/07/28_PG_17_1.webp&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
При настройке PostgreSQL большинство разработчиков и администраторов баз данных сосредотачиваются на поиске отсутствующих индексов, чтобы ускорить запросы. Это важный этап, но есть другая сторона медали: иногда вам требуется обнаружить индексы, которых вообще не следует иметь. &lt;br /&gt;
&lt;br /&gt;
Неиспользуемые или избыточные индексы часто упускаются из виду, хотя они могут незаметно снижать производительность системы. В этой статье мы узнаем, почему это происходит, и на практическом примере создания большого набора данных и построения индексов проанализируем, какие из них действительно полезны. &lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-17-,-10.html#extended&quot;&gt;Continue reading &quot;Настройка производительности в PostgreSQL 17: создание таблиц, вставка 10М записей и обнаружение неиспользуемых индексов&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 02 Jul 2026 19:27:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3447.html</guid>
    
</item>
<item>
    <title>Файловые дескрипторы: предел ОС, который выводит PostgreSQL из строя</title>
    <link>https://sql-ex.ru/blogs/?/,-PostgreSQL.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/,-PostgreSQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3446</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3446</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://stormatics.tech/author/warda-bibi&quot;&gt;Warda Bibi&lt;/a&gt;, File Descriptors: &lt;a href=&quot;https://stormatics.tech/blogs/file-descriptors-the-os-limit-that-takes-down-postgresql&quot;&gt;The OS Limit That Takes Down PostgreSQL&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Большинство отказов PostgreSQL, связанных с исчерпанием файловых дескрипторов, ошибочно воспринимаются как проблема самой базы данных. Отказ происходит на уровень ниже: ядро исчерпывает файловые дескрипторы, и удар принимает на себя PostgreSQL. В этой статье рассказывается, как это происходит в условиях большого количества подключений, как читать последовательность записей в журнале при возникновении проблемы и как её исправить.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/,-PostgreSQL.html#extended&quot;&gt;Continue reading &quot;Файловые дескрипторы: предел ОС, который выводит PostgreSQL из строя&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 02 Jul 2026 13:37:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3446.html</guid>
    
</item>
<item>
    <title>pg_stat_statements: о чём оно нам говорит</title>
    <link>https://sql-ex.ru/blogs/?/pg_stat_statements.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/pg_stat_statements.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3442</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3442</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Radim Marek, &lt;a href=&quot;https://postgr.es/p/9l3&quot;&gt;pg_stat_statements: everything it tells you&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Расширение &lt;code&gt;pg_stat_statements&lt;/code&gt; — если не первое, то одно из самых используемых в экосистеме PostgreSQL. Оно поставляется в составе &lt;code&gt;contrib&lt;/code&gt; и практически не требует затрат на использование. Большинство из нас обращаются к нему, чтобы ответить на вопрос: что на самом деле делает база данных? Это действительно полезно. Вы можете использовать его, чтобы получить снимок того, что происходило в заданный интервал времени, и быстрее принять решение о том, что исправлять.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/pg_stat_statements.html#extended&quot;&gt;Continue reading &quot;pg_stat_statements: о чём оно нам говорит&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 30 Jun 2026 11:26:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3442.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: cursor_tuple_fraction</title>
    <link>https://sql-ex.ru/blogs/?/GUC-cursor_tuple_fraction.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-cursor_tuple_fraction.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3443</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3443</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9l9&quot;&gt;All Your GUCs in a Row: createrole_self_grant&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Большинство параметров стоимости планировщика связаны с моделированием оборудования — насколько дорого чтение случайной страницы, насколько дорог такт ЦП. &lt;code&gt;cursor_tuple_fraction&lt;/code&gt; отличается. Он связан с моделированием вас: а именно, с предположением планировщика о том, какую часть результата курсора вы на самом деле собираетесь извлечь.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-cursor_tuple_fraction.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: cursor_tuple_fraction&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 30 Jun 2026 15:20:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3443.html</guid>
    
</item>
<item>
    <title>pg_stat_statements: всё, что оно не может</title>
    <link>https://sql-ex.ru/blogs/?/pg_stat_statements-,.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/pg_stat_statements-,.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3445</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3445</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Radim Marek, &lt;a href=&quot;https://postgr.es/p/9l6&quot;&gt;pg_stat_statements: everything it can&#039;t&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В &lt;a href=&quot;https://sql-ex.ru/blogs/?/pg_stat_statements_o_chjom_on_nam_govorit.html&quot;&gt;первой части&lt;/a&gt; был изложен основной тезис: pg_stat_statements считает, а не записывает. В ней было показано, как перемешивание queryid разбивает один логический запрос на множество строк, как зафиксированный при первом появлении текст «замораживает» ваши теги на каждый запрос и как усреднённые значения скрывают тот p99, который на самом деле заставляет вас просыпаться по ночам. Всё это касалось данных, которые расширение собирает, но искажает.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/pg_stat_statements-,.html#extended&quot;&gt;Continue reading &quot;pg_stat_statements: всё, что оно не может&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 01 Jul 2026 16:08:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3445.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: createrole_self_grant</title>
    <link>https://sql-ex.ru/blogs/?/GUC-createrole_self_grant.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-createrole_self_grant.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3441</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3441</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-createroleselfgrant/&quot;&gt;All Your GUCs in a Row: createrole_self_grant&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;createrole_self_grant&lt;/code&gt; — небольшой, недавний (PostgreSQL 16) и почти невозможный для объяснения изолированно. Чтобы рассказать, что он делает, нам нужно поговорить о том, какой была система ролей до 16-й версии, какой она стала сейчас и почему произошли изменения. Этот параметр является одним из видимых артефактов довольно существенного пересмотра, и этот пересмотр интереснее самого параметра.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-createrole_self_grant.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: createrole_self_grant&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 29 Jun 2026 16:35:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3441.html</guid>
    
</item>
<item>
    <title>Ночь, когда наши таблицы не переставали расти</title>
    <link>https://sql-ex.ru/blogs/?/,.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/,.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3440</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3440</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://stormatics.tech/author/semabtariq&quot;&gt;Semab Tariq&lt;/a&gt;, &lt;a href=&quot;https://stormatics.tech/blogs/the-night-our-tables-wouldnt-stop-growing&quot;&gt;The Night Our Tables Wouldn’t Stop Growing&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Мы делали всё правильно. План миграции был надёжным, команда опытной, и мы делали такое и раньше. Но где-то около полуночи кто-то из команды заметил нечто странное. Таблицы на стороне назначения неожиданно разрастались, потребляя сотни гигабайт, в то время как таблицы на исходной стороне спокойно занимали всего несколько мегабайт.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Что-то было серьёзно не так, и мы понятия не имели, что именно.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/,.html#extended&quot;&gt;Continue reading &quot;Ночь, когда наши таблицы не переставали расти&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 29 Jun 2026 15:46:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3440.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: cpu_index_tuple_cost, cpu_operator_cost и cpu_tuple_cost</title>
    <link>https://sql-ex.ru/blogs/?/GUC-cpu_index_tuple_cost,-cpu_operator_cost-cpu_tuple_cost.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-cpu_index_tuple_cost,-cpu_operator_cost-cpu_tuple_cost.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3439</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3439</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9k_&quot;&gt;All Your GUCs in a Row: cpu_index_tuple_cost, cpu_operator_cost и cpu_tuple_cost&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;cpu_tuple_cost&lt;/code&gt;, &lt;code&gt;cpu_index_tuple_cost&lt;/code&gt; и &lt;code&gt;cpu_operator_cost&lt;/code&gt; — это три константы, которые планировщик использует для оценки стоимости запроса. Самое полезное, что можно знать о всех трёх — это то, что вам почти наверняка никогда не следует их менять. Остальная часть статьи объясняет, почему.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-cpu_index_tuple_cost,-cpu_operator_cost-cpu_tuple_cost.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: cpu_index_tuple_cost, cpu_operator_cost и cpu_tuple_cost&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 28 Jun 2026 18:41:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3439.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: constraint_exclusion</title>
    <link>https://sql-ex.ru/blogs/?/GUC-constraint_exclusion.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-constraint_exclusion.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3438</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3438</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9kT&quot;&gt;All Your GUCs in a Row: constraint_exclusion&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;constraint_exclusion&lt;/code&gt; управляет трюком планировщика: когда таблица имеет ограничение &lt;code&gt;CHECK&lt;/code&gt;, планировщик может сравнить это ограничение с условием &lt;code&gt;WHERE&lt;/code&gt; вашего запроса и, если они противоречат друг другу, пропустить сканирование таблицы целиком.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-constraint_exclusion.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: constraint_exclusion&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 28 Jun 2026 00:12:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3438.html</guid>
    
</item>
<item>
    <title>Сравнение DATE_BUCKET и DATETRUNC</title>
    <link>https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3437</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3437</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://callihandata.com/2024/10/01/comparing-date_bucket-and-datetrunc/&quot;&gt;Chad Callihan. Comparing DATE_BUCKET and DATETRUNC&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Если вы не много экспериментировали с SQL Server 2022, вы может быть незнакомы с функциями DATE_BUCKET и DATETRUNC. Обе они полезны, когда дело доходит до агрегирования данных. Давайте рассмотрим каждую из этих функций на нескольких примерах.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;DATE_BUCKET&lt;/h2&gt;&lt;br /&gt;
Начнем с DATE_BUCKET. DATE_BUCKET дает вам возможность агрегировать данные на основе выбранного вами интервала. Допустим, мы имеем такой набор событий:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/06/date_bucket_1.png&quot; /&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html#extended&quot;&gt;Continue reading &quot;Сравнение DATE_BUCKET и DATETRUNC&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 27 Jun 2026 09:02:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3437.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: config_file</title>
    <link>https://sql-ex.ru/blogs/?/GUC-config_file.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-config_file.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3436</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3436</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9kK&quot;&gt;All Your GUCs in a Row: config_file&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;config_file&lt;/code&gt; сообщает серверу PostgreSQL, где находится &lt;code&gt;postgresql.conf&lt;/code&gt;, что должно заставить вас на мгновение задуматься. Если сервер узнаёт, где находится его файл конфигурации, из параметра, а параметры берутся из файла конфигурации, как он вообще находит первый файл?&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-config_file.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: config_file&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 26 Jun 2026 21:34:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3436.html</guid>
    
</item>
<item>
    <title>Новости за 2026-06-20 - 2026-06-26</title>
    <link>https://sql-ex.ru/blogs/?/2026-06-20-2026-06-26.html</link>
            <category>Site news</category>
    
    <comments>https://sql-ex.ru/blogs/?/2026-06-20-2026-06-26.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3435</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3435</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Популярные темы недели на форуме&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Топик&amp;#09;&amp;#09;Сообщений&amp;#09;Просмотров&lt;/b&gt;&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/forum.php?F=2&amp;N=53&quot;&gt;53 (DML)&lt;/a&gt;&amp;#09;&amp;#09;3&amp;#09;&amp;#09;5&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/Lforum.php?F=3&amp;N=18&quot;&gt;18 (Learn)&lt;/a&gt;&amp;#09;&amp;#09;2&amp;#09;&amp;#09;11&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/forum/Lforum.php?F=3&amp;N=7&quot;&gt;7 (Learn)&lt;/a&gt;&amp;#09;&amp;#09;2&amp;#09;&amp;#09;14&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Авторы недели на форуме&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Автор&amp;#09;&amp;#09;Сообщений&lt;/b&gt;&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/users_page.php?uid=651026&quot; target=&quot;_blank&quot;&gt;Rujan&lt;/a&gt;  &amp;#09;2&lt;br /&gt; &lt;a class=&quot;let&quot; href=&quot;https://sql-ex.ru/users_page.php?uid=128116&quot; target=&quot;_blank&quot;&gt;selber&lt;/a&gt;  &amp;#09;2&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Изменения среди лидеров рейтинга&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Рейтинг&amp;#09;Участник (решенные задачи)&lt;/b&gt;&lt;br /&gt; 35&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=45584&#039;&gt;BW&lt;/a&gt; (262)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/2026-06-20-2026-06-26.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-06-20 - 2026-06-26&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 26 Jun 2026 18:37:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3435.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: compute_query_id</title>
    <link>https://sql-ex.ru/blogs/?/GUC-compute_query_id.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-compute_query_id.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3434</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3434</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9kK&quot;&gt;All Your GUCs in a Row: compute_query_id&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;code&gt;compute_query_id&lt;/code&gt; по умолчанию имеет значение &lt;code&gt;auto&lt;/code&gt;, потому что разработчики PostgreSQL оказались в тупике. PostgreSQL 14 переместил вычисление идентификатора запроса в ядро сервера, чтобы всё, что нуждается в идентификаторе запроса — &lt;code&gt;pg_stat_statements&lt;/code&gt;, &lt;code&gt;pg_stat_activity&lt;/code&gt;, &lt;code&gt;EXPLAIN&lt;/code&gt; и журналы, — могло использовать одно каноническое значение вместо того, чтобы в каждом случае изобретать своё. Это оставило вопрос о том, каким должно быть значение по умолчанию, и оба очевидных ответа были плохими. Вычислять идентификатор для всех — значит облагать каждый фоновый процесс хэшированием, которое ему, возможно, никогда не понадобится; не вычислять ни для кого — значит незаметно сломать все стеки мониторинга и руководства по настройке, которые предполагали наличие идентификаторов запросов. &lt;code&gt;auto&lt;/code&gt; — это выход: вычислять идентификатор только тогда, когда кто-то, кому он нужен, запрашивает его.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-compute_query_id.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: compute_query_id&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 25 Jun 2026 18:23:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3434.html</guid>
    
</item>
<item>
    <title>Как хакнуть издателя в логической репликацмм</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3433</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3433</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Авторы: Zhijie Hou, &lt;a href=&quot;https://www.postgresql.fastware.com/blog/author/hayato-kuroda&quot;&gt;Hayato Kuroda&lt;/a&gt;, &lt;a href=&quot;https://www.postgresql.fastware.com/blog/how-to-hack-logical-replication-in-postgresql&quot;&gt;How to hack the Publisher&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Логическая репликация прошла долгий путь с момента её появления в PostgreSQL. Сейчас она применяется шире, чем когда-либо, обеспечивая обновления между версиями, мультирегиональные развёртывания и конвейеры аналитики в реальном времени. Однако значительные возможности для улучшения всё ещё остаются.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В этой статье мы покажем практические идеи по улучшению логической репликации PostgreSQL. Вы узнайте о производительности, исправлении ошибок, рефакторинге кода и улучшении функциональности подписчика.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Будут рассмотрены узкие места производительности, отсутствующие функции и тонкие ошибки — всё это ждёт своих исправителей, готовых погрузиться в код.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В этой статье мы делимся практическими уроками, которые мы извлекли из работы над логической репликацией PostgreSQL: на что обращать внимание, как тестировать и какие подводные камни ожидают на стороне издателя и подписчика. Независимо от того, новичок вы в контрибуции или опытный разработчик в поисках следующего проекта, мы надеемся, что это руководство даст вам полезный старт.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/unknown.html#extended&quot;&gt;Continue reading &quot;Как хакнуть издателя в логической репликацмм&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 25 Jun 2026 14:27:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3433.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: commit_timestamp_buffers</title>
    <link>https://sql-ex.ru/blogs/?/GUC-commit_timestamp_buffers.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-commit_timestamp_buffers.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3432</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3432</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9kK&quot;&gt;All Your GUCs in a Row: commit_timestamp_buffers&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;code&gt;commit_timestamp_buffers&lt;/code&gt; — первый в алфавитном порядке из семи параметров, которые PostgreSQL 17 добавил для выполнения одной и той же задачи для семи различных кэшей, поэтому эта статья объясняет эту задачу, а остальная часть кластера параметров может остаться краткой.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-commit_timestamp_buffers.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: commit_timestamp_buffers&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 24 Jun 2026 11:30:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3432.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: commit_delay и commit_siblings</title>
    <link>https://sql-ex.ru/blogs/?/GUC-commit_delay-commit_siblings.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-commit_delay-commit_siblings.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3431</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3431</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://postgr.es/p/9kD/&quot;&gt;All Your GUCs in a Row: commit_delay and commit_siblings&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;code&gt;commit_delay&lt;/code&gt; — это та единственная настройка, которая говорит групповой фиксации (&lt;em&gt;group commit&lt;/em&gt;) PostgreSQL ждать более многочисленной группы. База данных уже сама группирует сбросы WAL: когда один фоновый процесс выполняет сброс WAL, другие, готовые к фиксации, выстраиваются за ним и присоединяются к тому же &lt;code&gt;fsync&lt;/code&gt;. &lt;code&gt;commit_delay&lt;/code&gt; заставляет процесс, инициирующий этот сброс, сделать паузу на заданное количество микросекунд перед его началом, в предположении, что за время паузы подойдут ещё несколько транзакций и присоединятся к группе. &lt;code&gt;commit_siblings&lt;/code&gt; — это сторожевой параметр, который решает, стоит ли вообще делать эту паузу.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-commit_delay-commit_siblings.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: commit_delay и commit_siblings&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 23 Jun 2026 21:29:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3431.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: cluster_name</title>
    <link>https://sql-ex.ru/blogs/?/GUC-cluster_name.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-cluster_name.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3430</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3430</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-clustername/&quot;&gt;All Your GUCs in a Row: cluster_name&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;cluster_name&lt;/code&gt; выглядит как косметический параметр: метка, которая отображается в выводе &lt;code&gt;ps&lt;/code&gt;, чтобы вы могли различать свои три экземпляра Postgres. На первичном сервере это всё, что он делает. На резервном сервере (&lt;em&gt;standby&lt;/em&gt;) он может незаметно стать именем, которое первичный сервер использует, чтобы определить, удовлетворена ли синхронная репликация, — это гораздо более серьёзная задача для параметра, который большинство людей устанавливают и забывают.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-cluster_name.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: cluster_name&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 22 Jun 2026 23:05:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3430.html</guid>
    
</item>
<item>
    <title>Восстановление журнала транзакций базы данных SQL Server</title>
    <link>https://sql-ex.ru/blogs/?/SQL-Server.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3429</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3429</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.sqlservercentral.com/blogs/rebuilding-a-sql-server-database-transaction-log&quot;&gt;davidfowler. Rebuilding a SQL Server Database Transaction Log&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&quot;Не могли бы вы помочь мне, мы удалили файл журнала транзакций базы данных и теперь она застряла в ‘Recovery Pending’?&quot;&lt;br /&gt;
&lt;br /&gt;
Такой крик о помощи я получил пару недель назад.&lt;br /&gt;
&lt;br /&gt;
&quot;Конечно, без проблем, нам придется восстановить вашу последнюю резервную копию&quot;, - ответил я.&lt;br /&gt;
&lt;br /&gt;
А потом неизбежное: &quot;Это только база данных разработки, мы не делаем резервных копий.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Позвольте мне лирическое отступление. Вне зависимости от того, что это всего лишь база данных разработки, если это настолько важно, что вы сразу обращаетесь ко мне, значит это достаточно важно, чтобы делать бэкапы. Возможно, достаточно делать еженедельный полный бэкап, но, пожалуйста, убедитесь, что у вас всегда есть точка восстановления.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы имеем следующую ситуацию: база данных недоступна, отсутствует журнал транзакции и нет резервной копии. Что можно сделать? Фактически у нас есть только один вариант - мы должны восстановить журнал транзакций.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-Server.html#extended&quot;&gt;Continue reading &quot;Восстановление журнала транзакций базы данных SQL Server&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 22 Jun 2026 18:42:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3429.html</guid>
    
</item>
<item>
    <title>pretty_explain_*: как сделать планы запросов PostgreSQL читаемыми и стабильными для тестов</title>
    <link>https://sql-ex.ru/blogs/?/pretty_explain_-PostgreSQL.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/pretty_explain_-PostgreSQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3428</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3428</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: &lt;a href=&quot;https://www.pgedge.com/author/andrei-lepikhov&quot;&gt;Andrei Lepikhov&lt;/a&gt;, &lt;a href=&quot;https://www.pgedge.com/blog/explain-prettier-or-post-processing-query-plans-in-postgres&quot;&gt;EXPLAIN Prettier, or Post-Processing Query Plans in Postgres&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Эта история началась с книги, подаренной коллегой. Читая книгу Джимми Ангелакоса &lt;em&gt;«&lt;a href=&quot;https://www.amazon.com/PostgreSQL-Mistakes-How-Avoid-Them/dp/163343687X&quot;&gt;PostgreSQL Mistakes and How to Avoid Them&lt;/a&gt;»&lt;/em&gt;, я осознал одну вещь, которая давно меня беспокоила: в Postgres команда &lt;code&gt;&lt;a href=&quot;https://www.postgresql.org/docs/current/sql-explain.html&quot;&gt;EXPLAIN&lt;/a&gt;&lt;/code&gt; выдаёт слишком много информации. Примеры, которые авторы обычно приводят при обсуждении различных аспектов систем баз данных, усложняют анализ рассматриваемой проблемы и отвлекают читателя. Так родилась идея пост-обработки вывода &lt;code&gt;EXPLAIN&lt;/code&gt; — чтобы сделать планы запросов более читаемыми и сфокусированными на проблеме.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/pretty_explain_-PostgreSQL.html#extended&quot;&gt;Continue reading &quot;pretty_explain_*: как сделать планы запросов PostgreSQL читаемыми и стабильными для тестов&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 21 Jun 2026 13:42:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3428.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: client_min_messages</title>
    <link>https://sql-ex.ru/blogs/?/GUC-client_min_messages.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-client_min_messages.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3427</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3427</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-clientminmessages/&quot;&gt;All Your GUCs in a Row: client_min_messages&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;client_min_messages&lt;/code&gt; управляет тем, сколько сервер говорит вам: сообщения, которые возвращаются по сети в ваш сеанс. Его постоянно путают с параметром, управляющим тем, что сервер записывает в свой собственный журнал. Это разные задачи с разными параметрами, и путаница — это то место, где начинается большинство проблем.&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-client_min_messages.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: client_min_messages&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 21 Jun 2026 13:33:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3427.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: client_encoding</title>
    <link>https://sql-ex.ru/blogs/?/GUC-client_encoding.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-client_encoding.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3426</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3426</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-clientencoding/&quot;&gt;All Your GUCs in a Row: client_encoding&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;code&gt;client_encoding&lt;/code&gt; объявляет, в какой кодировке символов говорит клиент. Сервер использует этот параметр для преобразования между своей внутренней кодировкой (устанавливается во время &lt;code&gt;initdb&lt;/code&gt;, для каждой базы данных, часто UTF-8) и тем, что клиент отправляет и ожидает получить. Значение по умолчанию — «the server’s encoding», то есть без преобразования. Контекст параметра — &lt;code&gt;user&lt;/code&gt;, с переменной окружения &lt;code&gt;PGCLIENTENCODING&lt;/code&gt;, которую &lt;code&gt;libpq&lt;/code&gt; учитывает автоматически, по аналогии с &lt;code&gt;&lt;a href=&quot;https://sql-ex.ru/blogs/?/Vsjo_o_GUC_po_porJadku_application_name.html&quot;&gt;application_name&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;В мире UTF-8 этот параметр редко проявляется. Сервер — UTF-8, клиент — UTF-8, преобразования не происходит, жизнь хороша. Но «редко проявляется» — это не то же самое, что «не существует», и случаи, когда он проявляется, стоят понимания.&lt;/p&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-client_encoding.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: client_encoding&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 20 Jun 2026 12:41:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3426.html</guid>
    
</item>
<item>
    <title>Новости за 2026-06-13 - 2026-06-19</title>
    <link>https://sql-ex.ru/blogs/?/2026-06-13-2026-06-19.html</link>
            <category>Site news</category>
    
    <comments>https://sql-ex.ru/blogs/?/2026-06-13-2026-06-19.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3425</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3425</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Лидеры недели&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;&amp;#09;Участник&amp;#09;&amp;#09;w_sel&amp;#09;all_sel&amp;#09;select&amp;#09;dml&amp;#09;Всего&amp;#09;Рейтинг&lt;/b&gt;&lt;br /&gt; Шибаев  (saah)                &amp;#09;13&amp;#09;37&amp;#09;18&amp;#09;0&amp;#09;18&amp;#09;1789&lt;br /&gt; Сафронов П.А.  (Paulus73)     &amp;#09;5&amp;#09;139&amp;#09;17&amp;#09;0&amp;#09;17&amp;#09;139&lt;br /&gt; Быков  (EvgenyAstro)          &amp;#09;10&amp;#09;10&amp;#09;15&amp;#09;11&amp;#09;26&amp;#09;4131&lt;br /&gt; &lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=233431&#039;&gt;Виноградова С.М.  (Tigra1)    &lt;/a&gt;&amp;#09;3&amp;#09;135&amp;#09;8&amp;#09;0&amp;#09;8&amp;#09;182&lt;br /&gt; &lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=30229&#039;&gt;Макаров И.А.  (_Bkmz_)        &lt;/a&gt;&amp;#09;1&amp;#09;180&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;49&lt;br /&gt; P I.*.  (IrinaPetr)           &amp;#09;3&amp;#09;81&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;608&lt;br /&gt; Gitinomagomedov  (gmansur88)  &amp;#09;4&amp;#09;52&amp;#09;5&amp;#09;0&amp;#09;5&amp;#09;1052&lt;br /&gt; Odnokurtsev  (AlFochino)      &amp;#09;1&amp;#09;122&amp;#09;4&amp;#09;0&amp;#09;4&amp;#09;256&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;&lt;font color=&quot;#ff0080&quot;&gt;&amp;sect; &lt;/font&gt;Претенденты на попадание в TOP 100&lt;/p&gt;  &lt;pre&gt;&lt;b&gt;Рейтинг&amp;#09; Участник (решенные задачи, время в днях)&lt;/b&gt;&lt;br /&gt; 139&amp;#09;&amp;#09;Paulus73 (139, 11.160)&lt;br /&gt; 141&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=651026&#039;&gt;Rujan&lt;/a&gt; (143, 451.925)&lt;br /&gt; 182&amp;#09;&amp;#09;&lt;a class=&#039;let&#039; href=&#039;/users_page.php?uid=233431&#039;&gt;Tigra1&lt;/a&gt; (135, 22.569)&lt;br /&gt;&lt;/pre&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/2026-06-13-2026-06-19.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-06-13 - 2026-06-19&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 19 Jun 2026 18:59:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3425.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: checkpoint_flush_after и checkpoint_warning</title>
    <link>https://sql-ex.ru/blogs/?/GUC-checkpoint_flush_after-checkpoint_warning.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-checkpoint_flush_after-checkpoint_warning.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3424</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3424</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-checkpointflushafter-and-checkpointwarning/&quot;&gt;All Your GUCs in a Row: checkpoint_flush_after and checkpoint_warning&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Два параметра, смежных с контрольными точками, объединённые алфавитной близостью, а не тематическим родством. &lt;code&gt;checkpoint_flush_after&lt;/code&gt; — третий из четырёх параметров &lt;code&gt;*_flush_after&lt;/code&gt; для выталкивания (&lt;em&gt;writeback&lt;/em&gt;); &lt;code&gt;checkpoint_warning&lt;/code&gt; — это журнальный параметр, который выводит предупреждение, когда контрольные точки срабатывают слишком часто. Разные задачи, разная аудитория, но ни один из них не требует 400 слов отдельно.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-checkpoint_flush_after-checkpoint_warning.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: checkpoint_flush_after и checkpoint_warning&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 19 Jun 2026 12:15:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3424.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: checkpoint_timeout и checkpoint_completion_target</title>
    <link>https://sql-ex.ru/blogs/?/GUC-checkpoint_timeout-checkpoint_completion_target.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-checkpoint_timeout-checkpoint_completion_target.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3423</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3423</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-checkpointtimeout-and-checkpointcompletiontarget/&quot;&gt;All Your GUCs in a Row: checkpoint_timeout and checkpoint_completion_target&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Кластер параметров на букву &lt;strong&gt;C&lt;/strong&gt; открывается первыми двумя параметрами контрольных точек. Мы выводим их из алфавитного порядка, потому что &lt;code&gt;checkpoint_completion_target&lt;/code&gt; определён как доля от &lt;code&gt;checkpoint_timeout&lt;/code&gt; и не имеет смысла без него. Алфавит может подождать одну статью.&lt;/p&gt;  &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-checkpoint_timeout-checkpoint_completion_target.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: checkpoint_timeout и checkpoint_completion_target&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 18 Jun 2026 12:25:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3423.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: check_function_bodies</title>
    <link>https://sql-ex.ru/blogs/?/GUC-check_function_bodies.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-check_function_bodies.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3422</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3422</wfw:commentRss>
    

    <author>nospam@example.com (mssqlhelp)</author>
    <content:encoded>
    &lt;p&gt;Автор: Christophe Pettus, &lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-checkfunctionbodies/&quot;&gt;All Your GUCs in a Row: check_function_bodies&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Параметр, о котором большинство операторов никогда не знали, хотя каждый дамп-файл PostgreSQL, который они когда-либо просматривали, устанавливает его. &lt;code&gt;check_function_bodies&lt;/code&gt; управляет тем, проверяет ли PostgreSQL тело функции при создании &lt;code&gt;CREATE FUNCTION&lt;/code&gt; или &lt;code&gt;CREATE PROCEDURE&lt;/code&gt;. Значение по умолчанию — &lt;code&gt;on&lt;/code&gt;. Контекст параметра — &lt;code&gt;user&lt;/code&gt;.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-check_function_bodies.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: check_function_bodies&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 17 Jun 2026 12:27:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3422.html</guid>
    
</item>

</channel>
</rss>
