postgresql:如果不退出则创建用户[重复]

Posted

技术标签:

【中文标题】postgresql:如果不退出则创建用户[重复]【英文标题】:postgresql: Create user if not exit [duplicate] 【发布时间】:2021-05-05 02:25:18 【问题描述】:

如果不退出,有没有办法创建用户。

CREATE USER sup_ WITH PASSWORD 'postgres';

当我执行两次时出现错误说 sup_ 存在。 我应该如何更正我的查询?

谢谢?

【问题讨论】:

这能回答你的问题吗? Create PostgreSQL ROLE (user) if it doesn't exist 【参考方案1】:

CREATE ROLE 没有 IF NOT EXISTS 子句。 您可能希望使用 PL/pgSQL 来解决您的问题。看看this question,基本一样,答案很透彻。

【讨论】:

【参考方案2】:

首先检查用户是否存在,以免出错。用户以下查询:

Do
$do$
BEGIN
  IF NOT EXISTS (SELECT * FROM pg_user WHERE usename = 'sup_')then 
      CREATE USER sup_ WITH PASSWORD 'postgres';
   END IF;
end
$do$

【讨论】:

以上是关于postgresql:如果不退出则创建用户[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL:如果不存在则创建表 AS

如果超过一分钟的 Windows 批处理文件,则退出循环

Linux进取之旅1: 第一个脚本-检查及创建用户

markdown 从本地分支推送到另一个远程分支(如果不退出则在远程创建新分支)

markdown 从本地分支推送到另一个远程分支(如果不退出则在远程创建新分支)

PostgreSQL数据库创建/删除