如果我运行以下内容:
psql -h localhost -U admin -c "CREATE DATABASE sales OWNER admin;"
它返回:
psql FATAL:数据库“admin”不存在
我需要使用密码验证并设置.pgpass如下:
localhost:*:*:admin:admin
有什么想法吗?
答案 0 :(得分:2)
默认情况下,当您以用户身份连接时,连接到的数据库是与用户同名的数据库。
如果要连接到其他数据库,则必须在psql
命令行中指定它。由于在这种情况下您正在尝试创建数据库,因此无法连接到该数据库,您必须连接到已存在的另一个数据库(如template1
或postgres
)。
E.g。
psql -h localhost -U admin template1 -c "CREATE DATABASE sales OWNER admin;"
^^^^^^^^^