如何在bash脚本中设置postgresql用户密码

我想为默认的Postgresql服务器用户postgres设置一个密码。 我通过使用:

 sudo -u postgres psql # \password postgres 

我想在很多机器上做这一步,所以我想创build一个bash脚本来做同样的事情。 如何在bash中做到这一点?

如文档所述,您可以通过--command选项运行元命令。

 sudo -u postgres psql --command '\password postgres' 

单引号确保shell不会将反斜线视为转义字符。

而不是使用希望交互式terminal的psql \password命令,您可以使用:

 ALTER USER postgres WITH PASSWORD 'newpassword'; 

说,通过psql -c命令:

 sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"