Estou tentando executar um comando PostgreSQL de linha única para alterar uma senha de usuário. Eu tenho um erro que não consigo encontrar uma solução para qualquer lugar.
root@linux:~# sudo -u postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
could not change directory to "/root": Permission denied
Eu li que o erro de permissão negada é porque o usuário postgres não tem permissões no diretório / root (porque estou executando este comando como root).
Faz sentido.
Então, como posso modificar o comando para que, quando eu sudo, ele tome o ambiente para o postgres?
Eu tentei:
root@linux:~# sudo su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found
and
root@linux:~# su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found