<?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>Sun, 12 Jul 2026 19:05:00 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>Всё о 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>
<item>
    <title>Иерархические типы данных</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>PostgreSQL</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3420</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3420</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://fljd.in/en/2024/09/19/hierarchical-data-types/&quot;&gt;Florent Jardin. Hierarchical data types&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Стандарт SQL определяет ряд правил, которые позволяют системам баз данных быть взаимозаменяемыми, но в реальности есть небольшие особенности. В этой связи тип данных  hierarchyid в SQL Server является показательным примером. Если вы перейдете на PostgreSQL, вам будут доступны два решения.&lt;br /&gt;
&lt;br /&gt;
Первое и более простое решение - это связать каждый узел со своим родителем, используя новый столбец parentid и применяя ограничение внешнего ключа. Другой более сложный подход заключается в использовании расширения ltree. В данной статье рассматривается последний вариант.&lt;br /&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>Tue, 16 Jun 2026 23:34:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3420.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: bytea_output</title>
    <link>https://sql-ex.ru/blogs/?/GUC-bytea_output.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-bytea_output.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3421</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3421</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-byteaoutput/&quot;&gt;All Your GUCs in a Row: bytea_output&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;code&gt;bytea_output&lt;/code&gt; управляет тем, как PostgreSQL форматирует двоичные данные при отправке клиенту. Два значения: &lt;strong&gt;&lt;code&gt;hex&lt;/code&gt;&lt;/strong&gt; (значение по умолчанию, начиная с PostgreSQL 9.0, вышедшего в 2010 году) и &lt;strong&gt;&lt;code&gt;escape&lt;/code&gt;&lt;/strong&gt; (традиционный формат, уходящий корнями в начало 2000-х). Контекст параметра — &lt;code&gt;user&lt;/code&gt;. Параметр влияет только на вывод — ввод &lt;code&gt;bytea&lt;/code&gt; принимал оба формата всегда, и установка &lt;code&gt;SET bytea_output&lt;/code&gt; ничего не меняет в том, как вы записываете литеральные значения.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-bytea_output.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: bytea_output&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 16 Jun 2026 13:16:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3421.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: bonjour и bonjour_name</title>
    <link>https://sql-ex.ru/blogs/?/GUC-bonjour-bonjour_name.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-bonjour-bonjour_name.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3419</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3419</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-bonjour-and-bonjourname/&quot;&gt;All Your GUCs in a Row: bonjour and bonjour_name&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Короткая статья о двух параметрах, которые были очаровательной идеей в 2002 году и с возрастом превратились в курьёз.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-bonjour-bonjour_name.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: bonjour и bonjour_name&quot;&lt;/a&gt;
    </content:encoded>

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

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3418</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-blocksize/&quot;&gt;All Your GUCs in a Row: block_size&lt;/a&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Параметр, который вы не можете изменить. &lt;code&gt;block_size&lt;/code&gt; находится в разделе «Предустановленные параметры» (&lt;em&gt;Preset Options&lt;/em&gt;) документации, вместе со своими «кузенами» только для чтения, такими как &lt;code&gt;data_checksums&lt;/code&gt;, &lt;code&gt;wal_block_size&lt;/code&gt; и &lt;code&gt;server_version&lt;/code&gt;. Он сообщает размер страницы PostgreSQL — фундаментальной единицы хранения на диске и учёта в буферном пуле. Значение по умолчанию — &lt;strong&gt;8192 байта&lt;/strong&gt;. Он доступен только для чтения во время выполнения, может быть установлен только во время компиляции PostgreSQL, а его изменение после создания кластера означает, что нужно начать всё заново с новым кластером.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Так зачем же он вообще в &lt;code&gt;pg_settings&lt;/code&gt;? Потому что всё в базе данных измеряется в единицах этого размера.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-block_size.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: block_size&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 14 Jun 2026 12:14:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3418.html</guid>
    
</item>
<item>
    <title>Методы разбиения на страницы в SQL: повышение производительности запросов и эффективное управление памятью</title>
    <link>https://sql-ex.ru/blogs/?/SQL.html</link>
            <category>Optimization</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3417</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3417</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/@PradipBhusnar/sql-for-pagination-queries-memory-and-performance-567af4913b50&quot;&gt;Pradip Bhusnar. SQL Pagination Techniques: Enhancing Query Performance and Managing Memory Efficiently&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Эффективная обработка разбивки на страницы (пагинация) в SQL, особенно в высоконагруженных системах, требует тщательного учета как использования памяти, так и производительности. Здесь представлен детальный обзор проектирования и эффективного применения запросов постраничной разбивки.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Основные методы эффективной разбивки на страницы в SQL&lt;/h2&gt;&lt;br /&gt;
&lt;strong&gt;1. Limit и Offset:&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Традиционная разбивка на страницы с использованием LIMIT и OFFSET проста, но может оказаться неэффективной при больших смещениях.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Например:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SELECT * FROM data_table&lt;br /&gt;
ORDER BY timestamp DESC&lt;br /&gt;
LIMIT 10 OFFSET 1000;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Проблемы производительности: по мере увеличения смещения базе данных приходится сканировать больше строк, что может привести к значительному падению производительности.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL.html#extended&quot;&gt;Continue reading &quot;Методы разбиения на страницы в SQL: повышение производительности запросов и эффективное управление памятью&quot;&lt;/a&gt;
    </content:encoded>

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

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3416</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;Задача 303 перенесена на третий этап под номером 241.&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=0&amp;N=0&quot;&gt;Guest&#039;s book&lt;/a&gt;&amp;#09;&amp;#09;4&amp;#09;&amp;#09;11&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;3&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-06-06-2026-06-12.html#extended&quot;&gt;Continue reading &quot;Новости за 2026-06-06 - 2026-06-12&quot;&lt;/a&gt;
    </content:encoded>

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

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3415</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;debug_&lt;/code&gt;, и этот префикс является значимым: это собственные средства разработки и контроля качества PostgreSQL, предоставленные в виде настроек времени выполнения, чтобы сборочная ферма (&lt;em&gt;buildfarm&lt;/em&gt;) и разработчики ядра могли тестировать пути кода без перекомпиляции. Pavlo Golub, пишущий об одном из них, подвёл итог правильному подходу: «Я никогда-никогда не буду трогать параметр времени выполнения с префиксом “debug” в своих производственных кластерах». В основном это правильно. Давайте разберём дюжину параметров и то, что они на самом деле дают, потому что один или два тихо полезны, а остальными стоит восхищаться с безопасного расстояния.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-debug_-family.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: debug_* family&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 11 Jun 2026 10:31:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3415.html</guid>
    
</item>
<item>
    <title>Зло (и польза) DISTINCT</title>
    <link>https://sql-ex.ru/blogs/?/DISTINCT.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/DISTINCT.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3414</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3414</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://drsql.link/2026/02/11/the-evil-and-value-of-distinct/&quot;&gt;Louis Davidson. The evil (and value) of DISTINCT&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Есть ли в SQL ключевое слово, которое вызывало бы больший страх, чем DISTINCT. Когда я вижу его в запросе, то сразу начинаю беспокоиться о том, сколько работы мне предстоит сделать, чтобы убедиться в правильности этого запроса. Я начинаю искать комментарии, объясняющие, почему оно тут находится, и если не обнаруживаю, то знаю, что запрос, вероятно, будет неправильным.&lt;br /&gt;
&lt;br /&gt;
Я наблюдал такие DISTINCT, которые скрывали плохие соединения, отсутствующую группировку и даже пропущенные предложения WHERE. Я видел разработчиков, которые использовали его как &quot;универсальное решение&quot; проблем с данными.&lt;br /&gt;
&lt;br /&gt;
В этой статье я рассмотрю правильное и явно опасное использование DISTINCT, а также покажу, как вы можете протестировать ваш запрос, который использует DISTINCT, чтобы увидеть, что он на самом деле скрывает.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/DISTINCT.html#extended&quot;&gt;Continue reading &quot;Зло (и польза) DISTINCT&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 09 Jun 2026 16:16:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3414.html</guid>
    
</item>
<item>
    <title>Всё о GUC по порядку: bgwriter_delay и bgwriter_flush_afte</title>
    <link>https://sql-ex.ru/blogs/?/GUC-bgwriter_delay-bgwriter_flush_afte.html</link>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/GUC-bgwriter_delay-bgwriter_flush_afte.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3413</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3413</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-bgwriterdelay-and-bgwriterflushafter/&quot;&gt;All Your GUCs in a Row: bgwriter_delay and bgwriter_flush_after&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Кластер параметров на букву &lt;strong&gt;B&lt;/strong&gt; меняет направление: от разовых странностей к параметрам фонового процесса записи (&lt;em&gt;background writer&lt;/em&gt;), которых насчитывается четыре GUC. Первые два мы рассмотрим как пару, потому что &lt;code&gt;bgwriter_delay&lt;/code&gt; знакомит нас с самим процессом, а &lt;code&gt;bgwriter_flush_after&lt;/code&gt; органично вписывается в экскурсию по механизму writeback из статьи про &lt;code&gt;&lt;a href=&quot;https://thebuild.com/blog/all-your-gucs-in-a-row-bgwriterdelay-and-bgwriterflushafter/&quot;&gt;backend_flush_after&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/GUC-bgwriter_delay-bgwriter_flush_afte.html#extended&quot;&gt;Continue reading &quot;Всё о GUC по порядку: bgwriter_delay и bgwriter_flush_afte&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 07 Jun 2026 13:23:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3413.html</guid>
    
</item>

</channel>
</rss>
