如何在PostgreSQL数据库的一个命令中设置新用户,密码和数据库

时间:2016-12-12 14:19:47

标签: linux postgresql ubuntu

如何在PostgreSQL数据库的一个命令中设置新用户,密码和数据库?我有一个测试脚本需要运行命令来设置数据库。这就是我的尝试:

psql -h localhost -U root

但这要求我输入一个密码,有没有办法在一个命令上执行,即

psql -h localhost -U root -P '123' - database

创建密码和新数据库的位置?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

psql -U postgres -c "CREATE ROLE testuser PASSWORD 'secret' LOGIN"; psql -U postgres -c "CREATE DATABASE test"

答案 1 :(得分:0)

我认为你有机器/实例的sudo权限,或者你可以作为postgres连接。 Laurenz Albe提到的命令只有在你作为postgres工作时才有效,pg_hba.conf文件中的用户postgres允许对等身份验证。

如果您没有以postgres身份连接,则必须切换到该用户 - 在其他用户su postgres下的根sudo su postgres下。然后上面提到的命令将起作用。