Odpowiedzi:
Jak udokumentowano , możesz uruchamiać meta-polecenia za pomocą --commandopcji.
sudo -u postgres psql --command '\password postgres'
Pojedyncze cudzysłowy zapewniają, że powłoka nie traktuje ukośnika odwrotnego jako znaku ucieczki.
sudo -u postgres psql --command "\password". Zastanawiam się, dlaczego moje pytanie zostało odrzucone.
"\\...".
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.Myślę, że właśnie dlatego "\password"działało dobrze.
Zamiast używać \passwordkomendy psql , która oczekuje interaktywnego terminala, możesz użyć:
ALTER USER postgres WITH PASSWORD 'newpassword';
Powiedz za pomocą psql -cpolecenia:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
manpolecenia. Pamiętaj, aby spróbowaćman psqlw przyszłości.