Instalei o PostgreSQL 10.1 em um ambiente CentOS 7.3.
O serviço é iniciado ( postmaster.pid
arquivo presente em /var/lib/pgsql/10/data
), mas preciso recarregar a configuração ou reiniciar o servidor após uma alteração no arquivo pg_hba.conf
.
No entanto, tentando comandos diferentes, recebo o seguinte:
pg_ctl reload -D /var/lib/pgsql/10/data
bash: pg_ctl: command not found
service postgresql reload
Redirecting to /bin/systemctl reload postgresql.service
Failed to reload postgresql.service: Unit not found.
Descobri que você precisa especificar o nome exato do serviço PostgreSQL, que pode ser encontrado na lista de serviços, usando
systemctl
(veja também este post ):Então você pode usar
service
:ou
Alternativamente, você pode usar o
systemctl
comando:ou
Se você tiver sudogoer como uma função no postgresql, você pode usar alternativamente:
Ou melhor:
Ou primeiro (uma vez):
e então (todas as vezes):
Nota:
pg_ctl
não pode ser executado como root .Não sei como seu arquivo de serviço está configurado, então não posso depurar seu comando systemd. É possível que tenha um nome diferente, como sugere Sebastien.
Quanto ao pg_ctl, isso é resultado da instalação não adicionar o diretório ao caminho. (Há razões para isso mencionadas nos comentários aqui ). Existem algumas maneiras diferentes de resolver, mas eu recomendo apenas adicionar
/usr/pgsql-x.x/bin
ao caminho do usuário postgres. Basta adicionarPATH=$PATH:/usr/pgsql-x.x/bin
ao usuário postgres.bash_profile
e você deve estar pronto para ir.Você também pode usar (PostgresSQL 11 rodando no MX Linux (Debian 9, Stretch))-
Certifique -se de que
/sbin
faz parte do seu caminho se estiver executando os comandosservice
e .systemctl