Eu tenho um script python no banco de dados postgresql que está buscando registros do banco de dados do servidor sql e inserindo-o no banco de dados postgresql após alguma filtragem. esses trabalhos são executados a cron
cada dois minutos. Quero saber quando há um trabalho de manutenção, como autovacuum
está em execução e, se estiver em execução, esqueça a busca de registros. É possível detectar em python?
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
Nas versões atuais do PostgreSQL, você pode consultar a visualização *pg_stat_activity* para encontrar tarefas de autovacuum. Eles terão campos *current_query* que começam com "Marcar entradas de autovacuum em pg_stat_activity que se parecem com isto:
Uma consulta para contar quantos desses você tem pode ser assim:
E você pode fazer com que seu código Python verifique se o valor retornado é >0; em caso afirmativo, o autovacuum está em execução. Você também pode querer rastrear e evitar a execução simultânea com chamadas VACUUM manuais.