如何在PostgreSQL数据库的一个命令中设置新用户,密码和数据库?我有一个测试脚本需要运行命令来设置数据库。这就是我的尝试:
psql -h localhost -U root
但这要求我输入一个密码,有没有办法在一个命令上执行,即
psql -h localhost -U root -P '123' - database
创建密码和新数据库的位置?
答案 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
下。然后上面提到的命令将起作用。