Instalação
Depois de já instalado o Postgresql e o pgAdmin4 (versão do pgAdmin) no Debian e derivados utilize os seguintes comandos no terminal:
# apt-get update
# apt-get install pgagent
Não será abordada aqui a instalação "na unha".
Configuração
Antes de usar o pgAdmin para gerenciar o pgAgent você deve criar as extensões pgAgent do banco de dados no pgAdmin.
Para instalar/configurar o pgAgent em um host PostgreSQL, abra o pgAdmin (desktop ou web) e conecte-se ao seu banco de dados.
Para versões de servidor 9.1 ou posterior e pgAgent 3.4.0 ou posterior, clique na ferramenta Consulta (Query Tool), insira o seguinte comando:
CREATE EXTENSION pgagent;
e clique no ícone Executar (Execute/Refresh).
Depois insira o seguinte comando:
CREATE LANGUAGE plpgsql;
e clique no ícone Executar (Execute/Refresh).
Feito isso volte ao terminal e vamos criar/configurar quatro arquivos necessários para o bom funcionamento do pgAgent.
No final terão as explicações do porquê é necessário cada arquivo.
# vim /etc/init.d/pgagent.sh
(usei o vim, use o teu editor de texto preferido)
Coloque dentro:
#!/bin/bash
systemctl start pgagent
exit 0
Salve, saia e dê permissão de execução:
# chmod +x /etc/init.d/pgagent.sh
Verifique se já tem o arquivo
rc-local.service:
# find / -type f -name rc-local.service
Caso já tiver o arquivo, somente verifique o conteúdo e vá para o próximo passo.
Caso não tiver, vamos criá-lo:
# vim /usr/lib/systemd/system/rc-local.service
NOTA: para Debian e derivados (Ubuntu etc), caso tua distribuição seja outra verifique o caminho certo.
Coloque dentro:
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
Salve e saia. Não é necessário dar permissão de execução.
Crie o arquivo rc.local:
# vim /etc/rc.local
Coloque dentro:
#!/bin/bash
systemctl start pgagent
pgagent hostaddr=127.0.0.1 port=5433 dbname=banco1 user=postgres # essa linha você deve modificar de acordo com teu banco, explicações no final
pgagent hostaddr=127.0.0.1 port=5432 dbname=banco2 user=postgres # essa linha você deve modificar de acordo com teu banco, explicações no final
exit 0
Salve, saia e dê permissão de execução:
# chmod +x /etc/rc.local
NOTA: estamos usando o rc.local em conjunto com o rc-local.service do Systemd por uma questão de organização e facilidade.
Pesquise pelo arquivo
pgagent.service:
# find / -type f -name pgagent.service
Caso não exista, vamos criá-lo:
# vim /usr/lib/systemd/system/pgagent.service
Coloque dentro:
[Unit]
Description=Arquivo do PgAgent feito por eu mesmo
ConditionFileIsExecutable=/usr/bin/pgagent
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/pgagent start
ExecStop=/usr/bin/pgagent stop
ExecReload=/usr/bin/pgagent restart
Restart=always
RestartSec=10
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Salve e saia. Não é necessário dar permissão de execução.
E está feita toda a configuração necessária para o bom funcionamento do pgAgent.
Com essas configurações você pode executar no terminal:
Para torná-lo inicializável com o sistema:
# systemctl enable pgagent
Para iniciá-lo:
# systemctl start pgagent
Para pará-lo:
# systemctl stop pgagent
Para reiniciá-lo:
# systemctl restart pgagent
Para verificar o status de funcionamento:
# systemctl status pgagent