Как я могу узнать, работает ли Autovacuum в PostgreSQL в UNIX?

Как можно определить, работает ли демон автоочистки в Postgres 9.x и поддерживает ли кластер базы данных?

4 ответа

Решение

PostgreSQL 9.3

Определите, работает ли автовакуум

Это относится к Postgres 9.3 в UNIX. Для Windows смотрите этот вопрос.

Запрос Postgres System Table

SELECT
  schemaname, relname,
  last_vacuum, last_autovacuum,
  vacuum_count, autovacuum_count  -- not available on 9.0 and earlier
FROM pg_stat_user_tables;

Состояние процесса системы Grep

$ ps -axww | grep autovacuum
24352 ??  Ss      1:05.33 postgres: autovacuum launcher process  (postgres)    

Grep Postgres Log

# grep autovacuum /var/log/postgresql
LOG:  autovacuum launcher started
LOG:  autovacuum launcher shutting down

Если вы хотите узнать больше об автовакуумной активности, установите log_min_messages в DEBUG1..DEBUG5, Команда SQL VACUUM VERBOSE будет выводить информацию на уровне журнала INFO,


Что касается демона Autovacuum, то документация Posgres гласит:

В конфигурации по умолчанию автоочистка включена, и соответствующие параметры конфигурации установлены соответствующим образом.

Смотрите также:

Я использую:

select count(*) from pg_stat_activity where query like 'autovacuum:%';

в коллекцию, чтобы узнать, сколько одновременно работает автоочистка.

Вам может понадобиться создать функцию безопасности, например:

CREATE OR REPLACE FUNCTION public.pg_autovacuum_count() RETURNS bigint
AS 'select count(*) from pg_stat_activity where query like ''autovacuum:%'';'
LANGUAGE SQL
STABLE
SECURITY DEFINER;

и назовите это из коллекции.

В более ранних версиях Postgres "query" был "current_query", поэтому измените его в соответствии с тем, что работает.

установите log_autovacuum_min_duration на желаемую продолжительность времени, и выполнение автоочистки превысит продолжительность времени, которая будет зарегистрирована.

Вы также можете запустить pg_activity, чтобы увидеть текущие запросы к вашей базе данных. Обычно я все равно оставляю терминал открытым, так как он очень полезен.

Другие вопросы по тегам