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

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

CREATE USER sup_ WITH PASSWORD 'postgres';

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

谢谢?

【问题讨论】:

标签: sql postgresql


【解决方案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$
    

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2014-11-11
      • 2021-07-08
      • 2016-07-29
      • 2012-11-01
      • 2019-04-01
      相关资源
      最近更新 更多