Відповіді:
Як задокументовано, ви можете запускати мета-команди за допомогою --command
параметра.
sudo -u postgres psql --command '\password postgres'
Одиничні лапки гарантують, що оболонка не сприймає зворотну косу рису як евакуаційний символ.
sudo -u postgres psql --command "\password"
. Цікаво, чому моє запитання було скасовано.
"\\..."
.
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.
Я думаю, що тому "\password"
добре працював.
Замість використання команди psql \password
, яка очікує інтерактивний термінал, ви можете використовувати:
ALTER USER postgres WITH PASSWORD 'newpassword';
Скажіть за допомогою psql -c
команди:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
man
команду. Не забудьте спробуватиman psql
в майбутньому.