Всем добрый день! Кто может подсказать как посмотреть статистику автовакуума?

Что то типа сколько сделал и сколько осталось?

19 ответов

26 просмотров

SELECT p.pid, now() - a.xact_start AS duration, COALESCE((a.wait_event_type || '.'::text) || a.wait_event, 'f'::text) AS waiting, CASE WHEN a.query ~ '^autovacuum.*to prevent wraparound'::text THEN 'wraparound'::text WHEN a.query ~ '^vacuum'::text THEN 'user'::text ELSE 'regular'::text END AS mode, p.datname AS database, p.relid::regclass AS "table", p.phase, pg_size_pretty(p.heap_blks_total * current_setting('block_size'::text)::integer) AS table_size, pg_size_pretty(pg_total_relation_size(p.relid::regclass)) AS total_size, pg_size_pretty(p.heap_blks_scanned * current_setting('block_size'::text)::integer) AS scanned, pg_size_pretty(p.heap_blks_vacuumed * current_setting('block_size'::text)::integer) AS vacuumed, round(100.0 * p.heap_blks_scanned::numeric / p.heap_blks_total::numeric, 1) AS scanned_pct, round(100.0 * p.heap_blks_vacuumed::numeric / p.heap_blks_total::numeric, 1) AS vacuumed_pct, p.index_vacuum_count, round(100.0 * p.num_dead_tuples::numeric / p.max_dead_tuples::numeric, 1) AS dead_pct FROM pg_stat_progress_vacuum p RIGHT JOIN pg_stat_activity a ON a.pid = p.pid WHERE (a.query ~* '^autovacuum:'::text OR a.query ~* '^vacuum'::text) AND a.pid <> pg_backend_pid() ORDER BY (now() - a.xact_start) DESC;

Илья-Савельев Автор вопроса
Сергей Голод
SELECT p.pid, now() - a.xact_start AS duration...

Сергей спасибо, с table_size понятно, scaned, vacumed тоже а а остальные на картинке подскажите что там?

Илья-Савельев Автор вопроса
Сергей Голод
SELECT p.pid, now() - a.xact_start AS duration...

О чем говорят total_size | scanned_pct | vacuumed_pct | index_vacuum_count | dead_pct

Илья-Савельев Автор вопроса
Илья Савельев
screenshot Сергей спасибо, с table_size понятно, scaned, vacu...

А в табличке есть строчки где scanned_pct | vacuumed_pct 100% при этом вакуум идет, так ведь не должно быть

Илья Савельев
А в табличке есть строчки где scanned_pct | vacuum...

возможно уже завершается. попробуйте через какое-то время ещё раз посмотреть

Илья-Савельев Автор вопроса
Сергей Голод
возможно уже завершается. попробуйте через какое-т...

Это одни и те же базы я давно за ними наблюдаю не 1 день

первоначальный вопрос был другим)

Илья Савельев
На них кстати duration 00:02:13.268126

2 минуты и стоят в 100%? Точно "странное". С разбегу сложно скзаать что с вашими таблицами. Попробуйте на них vacuum full analyze сделать. Если ситуация позволяет

Илья Савельев
vacuum full пока никак

давай по другому: 1. Откл автовакуум в настройках 2. перечитываешь настройки 3. Убиваешь сессии автовакууму, ибо сам наврятли уже умрёт 4. на этих таблицах, а лучше на всех из запроса делаешь vacuum+analyze+freeze (без full) 5. вкл автовакуум 6. перечитываешь настройки наблюдаешь

Илья-Савельев Автор вопроса
Антон Дорошкевич
давай по другому: 1. Откл автовакуум в настройках ...

Антон добрый день, в этом сценарии необходим рестарт ПГ, я правильно тебя понял? Ведь настройки вакуум только при старте

Илья-Савельев Автор вопроса
Сергей Голод
SELECT p.pid, now() - a.xact_start AS duration...

Сергей спасибо огромное за запрос!

Илья-Савельев Автор вопроса
Антон Дорошкевич
давай по другому: 1. Откл автовакуум в настройках ...

Антон сделал все как ты сказал, прям на конкретных базах не помогло, что еще можно? pg_repack?

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта