terça-feira, 9 de fevereiro de 2010

Instalando pgAgent (criar Jobs/Trabalhos, agendar query no Postgres)

É possível agendar a execusão de uma query, também conhecido como "Jobs" ou "Trabalho" no PostgreSQL utlizando o pgAgent. Com isso você pode automatizar tarefas que se repetem de tempos em tempos (por exemplo BackUp).
1-Faça download do pgAgent: http://www.pgadmin.org/download/pgagent.php
2-Normalmente instalamos o pgAgent na pasta que está instalado o pgAdmin... mas isso não é regra. Ex: C:\Program Files\PostgreSQL\8.4\pgAdmin III\pgAgent-3.0.0-win32

3-Execute no servidor de banco de dados o script "pgagent.sql" que acompanha o instalador do pgAgent.

4-Feito isso você acaba de criar toda a estrutura no banco de dados para rodar o pgAgent, porém ainda falta instalar o serviço que de fato controla todas as tarefas.

5-Os serviços do Postgres são instalado para se logarem com o usuario do sistema operacional "postgres". tenha certeza que você esteja utilizando a senha correta quando for instalar esse serviço. Para instalar vá até o comando de prompt e entre na pasta que está instalado o pgAgent. Feito isso digite a seguinte linha de comando:
pgAgent INSTALL pgAgent -u postgres -p senhaOS dbname=postgres user=admin host=127.0.0.1 port=5432 password=senhaDB
Em azul são os parametros do serviço, onde INSTALL é o comando de instalar, "pgAgent" é o nome do serviço, "postgres" é o usuario do sistema operacional e "senhaOS" é a senha.
Em vermelho são os parametros de conexão usados pelo serviço.


6-Para desinstalar o serviço basta digitar: pgAgent REMOVE pgAgent
7-Para iniciar o serviço digite: net start pgAgent
8-Para desligar o serviço digite: net stop pgAgent
9-Para fazer DEBUG do serviço, para testar se a linha de comando está correta, digite:
pgAgent DEBUG pgAgent -l2 dbname=postgres user=admin host=127.0.0.1 port=5432 password=senhaDB