Risposte:
Come documentato , puoi eseguire meta-comandi tramite l' --commandopzione.
sudo -u postgres psql --command '\password postgres'
Le virgolette singole assicurano che la shell non tratti la barra rovesciata come un carattere di escape.
sudo -u postgres psql --command "\password". Mi chiedo, perché la mia domanda è stata sottoposta a downgrade.
"\\...".
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.penso che sia per questo che ha "\password"funzionato bene.
Invece di utilizzare il \passwordcomando psql , che prevede un terminale interattivo, è possibile utilizzare:
ALTER USER postgres WITH PASSWORD 'newpassword';
Dì, tramite un psql -ccomando:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
mancomando. Assicurati di provareman psqlin futuro.