Pergunta

Como se pode dizer se o Daemon Autovacuum No Postgres 9.x está em execução e manutenção do cluster do banco de dados?

Foi útil?

Solução

PostgreSQL 9.3

Determine se o Autovacuum está funcionando

Isso é específico para o Postgres 9.3 no Unix. Para o Windows, veja isso pergunta.

Tabela de sistemas pós -gres de consulta

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

Status do processo do sistema 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

Se você quiser saber mais sobre o Autovacuum atividade, definido log_min_messages para DEBUG1..DEBUG5. O comando sql VACUUM VERBOSE será lançado informações no nível do log INFO.


Em relação ao daemon Autovacuum, o Posgres Docs State:

Na configuração padrão, o Autovacuuming está ativado e os parâmetros de configuração relacionados são definidos adequadamente.

Veja também:

Outras dicas

Estou a usar:

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

no CollectD saber quantos autovacuum estão funcionando simultaneamente.

Pode ser necessário criar uma função de segurança como esta:

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;

e chame isso da Collectd.

No Postgres anterior, "Query" era "current_Query", então mude de acordo com o que funciona.

Você também pode executar o PG_ACTIVIDADE para ver as consultas atualmente em execução no seu banco de dados. Geralmente deixo um terminal aberto com isso em execução a maior parte do tempo de qualquer maneira como é muito útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top