【发布时间】:2013-09-10 09:33:28
【问题描述】:
我使用的是 Ubuntu 12.04 和 Postgress 9.2。
我需要使用此密码创建此用户,例如
postgres://admin:test101@127.0.0.1:5432
如何从命令行执行此操作?我需要使用 bash 脚本自动化。我有一个全新的安装。
【问题讨论】:
标签: postgresql ubuntu postgresql-9.2
我使用的是 Ubuntu 12.04 和 Postgress 9.2。
我需要使用此密码创建此用户,例如
postgres://admin:test101@127.0.0.1:5432
如何从命令行执行此操作?我需要使用 bash 脚本自动化。我有一个全新的安装。
【问题讨论】:
标签: postgresql ubuntu postgresql-9.2
这将在 localhost 上创建密码为 test101 的用户 admin:
psql -c "CREATE USER admin WITH PASSWORD 'test101';"
【讨论】:
要从任何用户运行它,只需将sudo -u postgres 添加到它:
sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""
【讨论】:
sudo -u postgres "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\"" 似乎可以正常工作。
could not change directory to "/root": Permission denied 的错误,因此最好使用 -i 运行 sudo,如下所示:sudo -i -u postgres psql -c "CREATE USER myuser WITH PASSWORD 'myuser1234';"
例如,要在原始 docker 映像上运行它,您可以将 su -c 命令与 postgres 用户结合使用 psql:
su -c "psql -c \"CREATE ROLE my_user WITH LOGIN PASSWORD 'my_password' \"" postgres
【讨论】: