gpt4 book ai didi

未指定用户名的 PostgreSQL `createuser`

转载 作者:行者123 更新时间:2023-11-29 13:12:59 25 4
gpt4 key购买 nike

我跑了:

$ createuser --pwprompt

看到了:

Enter password for new role: 

我希望系统会提示我输入用户名,所以此时我按了 CTRL+C

man 页面概要说用户名是可选的:

createuser [connection-option...] [option...] [username]

唯一给出的其他信息是:

username

Specifies the name of the PostgreSQL user to be created. This name must be different from all existing roles in this PostgreSQL installation.

createuser 在没有给出的情况下对哪个用户进行操作?

最佳答案

你没有阅读这部分文档(我也花了一段时间):

--interactive

Prompt for the user name if none is specified on the command line, and also prompt for whichever of the options -d/-D, -r/-R, -s/-S is not specified on the command line. (This was the default behavior up to PostgreSQL 9.1.)

您没有指定 --interactive,因此不会提示您。

因此,PostgreSQL 选择默认用户:除非设置了 PGUSER,否则就是您的操作系统用户。

因此,假设您是操作系统用户 postgres,您实际上执行了以下操作:

createuser -U postgres postgres

这当然很愚蠢并且会导致

createuser: creation of new role failed: ERROR:  role "postgres" already exists

如果您没有退缩并中断执行。

关于未指定用户名的 PostgreSQL `createuser`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52547523/

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