Как установить пароль пользователя postgresql в скрипте bash

Я хочу установить пароль для пользователя сервера Postgresql по умолчанию, postgres, Я сделал это с помощью:

sudo -u postgres psql
# \password postgres

Я хочу сделать этот шаг на многих машинах, поэтому я хотел бы создать bash скрипт для того же. Как это сделать в bash?

2 ответа

Вместо того, чтобы использовать PSQL \password Команду, которая ожидает интерактивный терминал, можно использовать:

ALTER USER postgres WITH PASSWORD 'newpassword';

Скажем, через psql -c команда:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"

Как документировано, вы можете запускать мета-команды через --command вариант.

sudo -u postgres psql --command '\password postgres'

Одинарные кавычки гарантируют, что оболочка не обрабатывает обратную косую черту как escape-символ.

Другие вопросы по тегам