Назад | Перейти на главную страницу

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

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

sudo -u postgres psql
# \password postgres

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

Вместо использования 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-символ.