Pular para o conteúdo

Resolvendo waiting ou idle transaction no PostgreSQL

Dica publicada em Shell Script / Miscelânea
Caio Ferreira Dias caio
Hits: 18.158 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Resolvendo waiting ou idle transaction no PostgreSQL

Por diversas vezes me deparo com usuários conectados ao banco de dados com a sua conexão travando alguma tabela, nisso causa um desconforto maior pois todos as conexões que estão tentando utilizar esta tabela também ficarão "travadas".

Para resolver isso crie um script que irá derrubar estas conexões.

# nano processo.sh

Cole as seguintes linhas:

#!/bin/bash

for X in `ps aux | grep postgres | grep $1 | awk {'print $2'}`;
do
kill $X;
done

Salve e torne-o para executável:

# chmod +x processo.sh

E execute da seguinte forma:

# ./processo.sh waiting
ou
# ./processo.sh transaction

Este processo pode ser adaptado para ser feito de tempos em tempos no crontab.

Obs.: O campo "grep postgres" só coloquei para sempre só funcionar com conexões do postgres, para não correr o risco de matar um processo importante.

Verificar triggers desabilitadas no PostgreSQL

Ubuntu 11.04 - Placa wireless parou de funcionar com o kernel 2.6.39.x?

Autovacuum do PostgreSQL

Script Reindex PostgreSQL com envio de email de notificação

Formatando números no shell com zeros à esquerda

Bash: Gráficos estatísticos de tráfego de rede

Instale pacotes pelo apt através de uma lista

Windows e Samba com Desktop padronizado

Habilitando X11 via SSH no Slackware

#1 Comentário enviado por luizvida em 16/08/2011 - 23:02h
E mesmo...? Hum... Coisa feia...

Contribuir com comentário

Entre na sua conta para comentar.