Respostas:
Conforme documentado, você pode executar meta-comandos através da --commandopção
sudo -u postgres psql --command '\password postgres'
As aspas simples garantem que o shell não trate a barra invertida como um caractere de escape.
sudo -u postgres psql --command "\password". Pensando, por que minha pergunta foi rejeitada?
"\\...".
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.Acho que é por isso que "\password"funcionou bem.
Em vez de usar o \passwordcomando psql , que espera um terminal interativo, você pode usar:
ALTER USER postgres WITH PASSWORD 'newpassword';
Digamos, através de um psql -ccomando:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
mancomando. Certifique-se de tentarman psqlno futuro.