如何从命令行为bash自动化创建Postgres用户

Tam*_*mpa 55 postgresql ubuntu postgresql-9.2

我正在使用Ubuntu 12.04和Postgress 9.2.

我需要使用此密码创建此用户,例如

postgres://admin:test101@127.0.0.1:5432
Run Code Online (Sandbox Code Playgroud)

如何从命令行执行此操作?我需要使用bash脚本进行自动化.我有一个全新的安装.

Tom*_*eif 95

这将在localhost上创建密码为test101的用户admin:

psql -c "CREATE USER admin WITH PASSWORD 'test101';"
Run Code Online (Sandbox Code Playgroud)

  • 备查.运行该命令时,postgres需要一个用户来执行查询.要设置与记录用户不同的用户(在本例中为khophi),应使用-U标志.例如psql -U postgres -c"...".全新安装后,您有一个名为postgres的默认超级用户,没有密码.在ubuntu中你应该完成以下操作:$> sudo su $> su postgres $> psql -c"....#now now as postgres user (9认同)

mim*_*lea 33

要从任何用户运行它只需添加sudo -u postgres到它:

sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""
Run Code Online (Sandbox Code Playgroud)


aNj*_*aNj 5

例如,要在原始docker映像上运行它,可以su -cpostgres用户命令与psql结合使用:

su -c "psql -c \"CREATE ROLE my_user WITH LOGIN PASSWORD 'my_password' \"" postgres
Run Code Online (Sandbox Code Playgroud)