微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

createuser允许在Postgresql中创建用户(ROLE)。有一个简单的方法来检查,如果该用户(名称)已经存在吗?否则createuser返回错误
createuser: creation of new role Failed: ERROR:  role "USR_NAME" already exists

UPDATE:解决方案应该是可以从shell可执行的,所以更容易在脚本中自动化。

SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'

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

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

产生1,如果发现和没有别的。

那是:

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

原文地址:https://www.jb51.cc/postgresql/193802.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐