Ответы:
Как документировано, вы можете запускать мета-команды через --commandопцию.
sudo -u postgres psql --command '\password postgres'
Одинарные кавычки гарантируют, что оболочка не обрабатывает обратную косую черту как escape-символ.
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в будущем.