Respostas:
Conforme documentado, você pode executar meta-comandos através da --command
opçã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 \password
comando psql , que espera um terminal interativo, você pode usar:
ALTER USER postgres WITH PASSWORD 'newpassword';
Digamos, através de um psql -c
comando:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
man
comando. Certifique-se de tentarman psql
no futuro.