Как создать пользователя для Postgres из командной строки для автоматизации bash

Я использую Ubuntu 12.04 и Postgress 9.2.

Мне нужно создать пользователя с паролем, например,

postgres://admin:test101@127.0.0.1:5432

Как это сделать из командной строки? Мне нужно автоматизировать скрипт bash. У меня новая установка.

4 ответов


это создаст администратора пользователя с паролем test101 на localhost:

psql -c "CREATE USER admin WITH PASSWORD 'test101';"

чтобы запустить его от любого пользователя, просто добавьте sudo -u postgres для этого:

sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""

Если вы работаете от root, вы можете получить ошибку, как could not change directory to "/root": Permission denied
так что лучше запустить sudo с -i такой:
sudo -i -u postgres psql -c "CREATE USER myuser WITH PASSWORD 'myuser1234';"


чтобы запустить его на исходном изображении докера, например, вы можете использовать с postgres пользователь в сочетании с psql:

su -c "psql -c \"CREATE ROLE my_user WITH LOGIN PASSWORD 'my_password' \"" postgres