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,除此之外没有任何其他值。
That is:
psql postgres -tXAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)