gpt4 book ai didi

postgresql - 如何检查postgres用户是否存在?

转载 作者:行者123 更新时间:2023-11-29 11:04:57 28 4
gpt4 key购买 nike

createuser 允许在 PostgreSQL 中创建用户 (ROLE)。有没有一种简单的方法来检查该用户(名称)是否已经存在?否则 createuser 返回错误:

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

更新:该解决方案最好可以从 shell 执行,这样更容易在脚本中实现自动化。

最佳答案

SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'

在命令行方面(感谢 Erwin):

psql postgres -tXAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'"

如果找到则返回 1。

即:

psql postgres -tXAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...

关于postgresql - 如何检查postgres用户是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546759/

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