我正在使用Ubuntu 12.04和Postgress 9.2。
我需要使用此密码创建此用户,例如
postgres://admin:test101@127.0.0.1:5432
如何从命令行执行此操作?我需要使用bash脚本进行自动化。我有一个全新的安装。
答案 0 :(得分:88)
这将在localhost上创建密码为test101的用户admin:
psql -c "CREATE USER admin WITH PASSWORD 'test101';"
答案 1 :(得分:33)
要从任何用户运行它,只需将sudo -u postgres
添加到其中:
sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""
答案 2 :(得分:1)
例如,要在原始docker映像上运行它,您可以将su -c
用户的postgres
命令与psql结合使用:
su -c "psql -c \"CREATE ROLE my_user WITH LOGIN PASSWORD 'my_password' \"" postgres
答案 3 :(得分:0)
如果您从root运行,可能会收到类似could not change directory to "/root": Permission denied
的错误
所以最好像-i
这样运行sudo:
sudo -i -u postgres psql -c "CREATE USER myuser WITH PASSWORD 'myuser1234';"