Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Comando pg_ctl não retorna o status através do usuário 'postgres'.

Bom dia!

Logado como usuário root, o comando 'pg_ctl --help' retorno a ajuda, conforme a aula.

Quando entro com o comando 'pg_ctl status' usando o usuário postgres, o arquivo pg_ctl não é encontrado mesmo estando residente no diretório da instalação, conforme mensagens abaixo:

postgres@5ad051ba5568:/$ pgctl status
bash: pgctl: command not found

postgres@5ad051ba5568:/$ ls -las ./usr/lib/postgresql/11/bin/pg_ctl
52 -rwxr-xr-x 1 root root 51616 May 10  2022 ./usr/lib/postgresql/11/bin/pg_ctl

Como resolver isso?

Muito obrigado!

2 respostas

Você digitou pgctl ao invés de pg_ctl.

solução!

Realmente, eu digitei o comando errado porque fiz uma cópia indevida, mas mesmo usando o comando correto o problema persistiu:

postgres@5ad051ba5568:/$ pg_ctl status bash: pg_ctl: command not found

Como tive êxito ao passar o caminho completo do arquivo, acabei resolvendo com a alteração da variável PATH:

postgres@5ad051ba5568:/$ ./usr/lib/postgresql/11/bin/pg_ctl status
pg_ctl: server is running (PID: 1)
/usr/lib/postgresql/11/bin/postgres

postgres@5ad051ba5568:/$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
postgres@5ad051ba5568:/$ export PATH=$PATH:/usr/lib/postgresql/11/bin
postgres@5ad051ba5568:/$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/postgresql/11/bin
postgres@5ad051ba5568:/$ pg_ctl status
pg_ctl: server is running (PID: 1)
/usr/lib/postgresql/11/bin/postgres

Muito obrigado pela resposta rápida e apoio!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software