<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Task on PIG.CENTER</title><link>https://pig.center/ru/categories/task/</link><description>Recent content in Task on PIG.CENTER</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/ru/categories/task/index.xml" rel="self" type="application/rss+xml"/><item><title>Настройка журналирования PostgreSQL</title><link>https://pig.center/ru/docs/pgbadger/postgresql-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/pgbadger/postgresql-logging/</guid><description>&lt;p&gt;pgBadger может отобразить только те сведения, которые PostgreSQL записывает в журнал. Начните с префикса, пригодного для разбора, и продуманной политики журналирования операторов, а затем добавьте эксплуатационные события, которые требуется анализировать.&lt;/p&gt;&#10;&lt;h2 id="minimum-query-logging"&gt;Минимальное журналирование запросов&#10;&lt;/h2&gt;&#10;&lt;p&gt;Чтобы включить текст и длительность запросов, включите журналирование операторов по длительности:&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-57fd1703-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="postgresql" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-57fd1703-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-postgresql" data-lang="postgresql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;log_min_duration_statement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Значение &lt;code&gt;0&lt;/code&gt; записывает каждый завершённый оператор. На загруженном сервере выберите более высокий порог в миллисекундах, чтобы контролировать объём журнала. Прежде чем включать низкий порог в производственной среде, измерьте накладные расходы и рост хранилища.&lt;/p&gt;</description></item><item><title>Параллельная обработка</title><link>https://pig.center/ru/docs/pgbadger/parallel-processing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/pgbadger/parallel-processing/</guid><description>&lt;p&gt;pgBadger поддерживает два взаимодополняющих режима многопроцессной обработки. Выбирайте режим по структуре входных данных, а не просто по числу процессоров.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Параметр&lt;/th&gt;&#10; &lt;th scope="col"&gt;Единица параллельной обработки&lt;/th&gt;&#10; &lt;th scope="col"&gt;Лучше всего подходит для&lt;/th&gt;&#10; &lt;th scope="col"&gt;Основное ограничение&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;-j N&lt;/code&gt; / &lt;code&gt;--jobs N&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;части одного файла журнала&lt;/td&gt;&#10; &lt;td&gt;один большой журнал с произвольным доступом&lt;/td&gt;&#10; &lt;td&gt;на границах частей небольшое число запросов может быть продублировано или пропущено&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;-J N&lt;/code&gt; / &lt;code&gt;--Jobs N&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;целые файлы журналов&lt;/td&gt;&#10; &lt;td&gt;множество независимых журналов&lt;/td&gt;&#10; &lt;td&gt;полезно только при достаточном числе файлов для постоянной загрузки рабочих процессов&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="single-file-jobs"&gt;Разделение одного большого файла с &lt;code&gt;-j&lt;/code&gt;&#10;&lt;/h2&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-54e4ce6a-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="console" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-54e4ce6a-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; pgbadger -j &lt;span class="m"&gt;8&lt;/span&gt; /var/log/postgresql/postgresql.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Алгоритм исходного проекта делит каждый файл на &lt;code&gt;N&lt;/code&gt; диапазонов байтов, создаёт по одному процессу синтаксического анализа на диапазон, записывает временную двоичную статистику, а затем объединяет её в итоговый отчёт.&lt;/p&gt;</description></item><item><title>Инкрементальные отчёты</title><link>https://pig.center/ru/docs/pgbadger/incremental-reports/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/pgbadger/incremental-reports/</guid><description>&lt;p&gt;Инкрементальный режим сохраняет разобранную статистику в двоичном виде, а затем строит по одному HTML-отчёту на день, накопительный отчёт на неделю и связывающий их календарный индекс. Он предназначен для регулярной обработки ротируемых журналов без повторного учёта одних и тех же записей.&lt;/p&gt;&#10;&lt;h2 id="daily-and-weekly"&gt;Создание ежедневных и еженедельных отчётов&#10;&lt;/h2&gt;&#10;&lt;p&gt;Запускайте pgBadger после ежедневной ротации журнала и укажите постоянный каталог вывода:&lt;/p&gt;&#10;&lt;div class="td-code td-code--titled" id="td-code-d8d574f7-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="cron" data-td-line-count="1" role="group" aria-labelledby="td-code-d8d574f7-fence-0-title"&gt;&#10; &lt;div class="td-code__header"&gt;&#10; &lt;span class="td-code__filename" id="td-code-d8d574f7-fence-0-title" title="crontab"&gt;crontab&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="td-code__viewport" id="td-code-d8d574f7-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code class="language-cron" data-lang="cron"&gt;0 4 * * * /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 -O /var/www/pg_reports/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Параметр &lt;code&gt;-I&lt;/code&gt; включает инкрементальный режим, а &lt;code&gt;-O&lt;/code&gt; выбирает каталог для двоичного состояния, календарного индекса и сгенерированных отчётов. pgBadger самостоятельно ведёт инкрементальное состояние в этом каталоге, поэтому &lt;code&gt;--last-parsed&lt;/code&gt; не нужен, если только вы намеренно не хотите хранить файл состояния в другом месте.&lt;/p&gt;</description></item><item><title>Поддержка и участие в разработке</title><link>https://pig.center/ru/docs/pgbadger/support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/pgbadger/support/</guid><description>&lt;p&gt;pgBadger развивается как открытый проект. Сообщения об ошибках, предложения функций, исправления документации и патчи принимаются через репозиторий исходного проекта на GitHub.&lt;/p&gt;&#10;&lt;h2 id="bugs-and-features"&gt;Ошибки и запросы функций&#10;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Обновитесь до самой новой выпущенной версии и убедитесь, что проблема сохраняется.&lt;/li&gt;&#10;&lt;li&gt;Поищите готовый ответ среди &lt;a href="https://github.com/darold/pgbadger/issues"&gt;открытых задач&lt;/a&gt;&#10; и &lt;a href="https://github.com/darold/pgbadger/issues?q=is%3Aissue&amp;#43;is%3Aclosed"&gt;закрытых задач&lt;/a&gt;&#10;.&lt;/li&gt;&#10;&lt;li&gt;Сведите проблему к минимальному безопасному фрагменту журнала и командной строке, на которых она всё ещё воспроизводится.&lt;/li&gt;&#10;&lt;li&gt;Удалите учётные данные, конфиденциальный SQL, значения параметров, имена узлов, адреса и деловые данные.&lt;/li&gt;&#10;&lt;li&gt;Создайте &lt;a href="https://github.com/darold/pgbadger/issues/new"&gt;новую задачу&lt;/a&gt;&#10;, указав версию pgBadger, операционную систему, формат ввода, точные параметры, наблюдаемый и ожидаемый результаты.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;При аварийном завершении или ошибке синтаксического анализатора приложите только минимальный очищенный набор строк журнала, необходимый для воспроизведения проблемной границы. Полный производственный журнал или сгенерированный отчёт почти никогда не следует публиковать в общедоступной задаче.&lt;/p&gt;</description></item></channel></rss>