前端之家收集整理的这篇文章主要介绍了
postgresql – 如何检查postgres用户是否存在?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
createuser允许在Postgre
sql中创建
用户(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 ...