首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建PostgreSQL角色(用户)(如果该角色不存在

创建PostgreSQL角色(用户)(如果该角色不存在
EN

Stack Overflow用户
提问于 2011-11-11 17:39:27
回答 8查看 138.1K关注 0票数 161

如何编写一个PostgreSQL脚本来在SQL9.1中创建角色,而不会在角色已经存在的情况下引发错误?

当前脚本只包含:

代码语言:javascript
复制
CREATE ROLE my_user LOGIN PASSWORD 'my_password';

如果用户已经存在,则此操作将失败。我想要这样的东西:

代码语言:javascript
复制
IF NOT EXISTS (SELECT * FROM pg_user WHERE username = 'my_user')
BEGIN
    CREATE ROLE my_user LOGIN PASSWORD 'my_password';
END;

..。但这并不起作用--在普通的SQL中似乎不支持IF

我有一个批处理文件,用于创建PostgreSQL 9.1数据库、角色和其他一些东西。它调用psql.exe,传入要运行的SQL脚本的名称。到目前为止,所有这些脚本都是纯SQL,如果可能的话,我想避免使用PL/pgSQL之类的脚本。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8092086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档