gpt4 book ai didi

postgresql - 用户名在 psql 命令中被视为数据库?

转载 作者:行者123 更新时间:2023-12-05 06:23:34 24 4
gpt4 key购买 nike

这个问题类似于create database using psql in shell script takes username as db name ,但由于没有公认的答案,我在这里再次提问。我用用户名 myuser 和密码 mypassword 创建了一个用户:

> psql
psql (11.5)
Type "help" for help.

kurt=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
kurt | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
myuser | | {}

kurt=#

但是,如果我执行 psql --username=myuser,我会得到一个错误,提示 database "myuser"does not exist:

> psql --username=myuser
psql: FATAL: database "myuser" does not exist

我对这个错误信息有点困惑,因为根据 psql --help,这是一个用户名,而不是数据库名:

Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "local socket")
-p, --port=PORT database server port (default: "5432")
-U, --username=USERNAME database user name (default: "kurt")
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically)

知道我做错了什么吗?这是我正在使用的 psql 版本:

> psql --version
psql (PostgreSQL) 11.5

最佳答案

Quote from the manual

The default user name is your operating-system user name, as is the default database name

如果您指定用户名,则该用户名也将被假定为数据库名称的默认值。

关于postgresql - 用户名在 psql 命令中被视为数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58227692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com