Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon redshift 无法使用SQL Workbench/J在Amazon红移中创建新用户_Amazon Redshift - Fatal编程技术网

Amazon redshift 无法使用SQL Workbench/J在Amazon红移中创建新用户

Amazon redshift 无法使用SQL Workbench/J在Amazon红移中创建新用户,amazon-redshift,Amazon Redshift,我在Amazon Redshift中创建新用户时遇到问题。我遵循上的描述,并能够使用上面描述的示例中的数据创建集群。我可以使用最新版本的SQL Workbench/J(Build 1222017-02-04)和驱动程序(JDBC 4.2兼容)从EC2实例连接到集群。尝试创建新用户时失败: create user dbuser25x with password 'abcD1234'; 其中一种情况会发生: 我收到确认用户已创建的消息,但没有用户: User dbuser25x created E

我在Amazon Redshift中创建新用户时遇到问题。我遵循上的描述,并能够使用上面描述的示例中的数据创建集群。我可以使用最新版本的SQL Workbench/J(Build 1222017-02-04)和驱动程序(JDBC 4.2兼容)从EC2实例连接到集群。尝试创建新用户时失败:

create user dbuser25x with password 'abcD1234';
其中一种情况会发生:

  • 我收到确认用户已创建的消息,但没有用户:

    User dbuser25x created
    Execution time: 0.04s
    
  • 查询失败:

    An error occurred when executing the SQL command:
    create user dbuser25x with password 'abcD1234'
    [Amazon](500310) Invalid operation: user "dbuser25x" already exists;
    1 statement failed.
    Execution time: 0s
    
  • 查询挂起

  • 在任何情况下,我都使用此语句检查结果:

        select * from pg_user;
    
    这个用户不在那里,我不知道为什么

    另一个开发人员试图以同样的方式创建一个新用户,但遇到了同样的问题。 我试着从可能出现僵局的那一部分找到解决方案——它们没有帮助。 我使用了一个专用的Windows EC2实例,在该实例上我只安装了SQL Workbench/J,以排除其他软件的影响-这并没有解决问题。

    它对我来说很好:

    create user dbuser25x with password 'abcD1234';
    
    select * from pg_user;
    
    rdsdb         1 true    true    true    ********    infinity    (null)
    masteruser  100 true    true    false   ********    (null)  (null)
    dbuser25x   101 false   false   false   ********    (null)  (null)
    

    同样的问题,正如Chris(上面)的评论所说,我必须提交
    create user
    操作。在SQL Workbench/J中,您的工具栏中有“提交”按钮,我想您也可以键入
    Commit
    命令。

    除了不出现在
    pgu user
    中之外,您是否能够以该用户的身份登录?我刚刚尝试过。很遗憾,我无法连接。谢谢你的提示。我收到消息:连接失败。[Amazon](500310)无效操作:用户“dbuser25x”的密码身份验证失败;如果您尝试使用不同的(不存在的)用户名连接,是否会出现相同的错误?这将说明是否识别用户名。错误消息相同。谢谢你的提示。我在大约15分钟前运行了这两个查询并成功了。我能够再添加3个用户,并且可以在pg_user表中看到所有用户。然后,第四个用户的查询突然挂起。我运行查询“select*from pg_user;”四个用户中没有一个。我搞不懂这一点。我想知道这是否与自动提交有关?我认为事务不适用于
    CREATE USER
    ,但您可以试试。在与红移建立连接时,只需打开“自动提交”复选框。它现在就可以工作,这让我很惊讶。我昨天尝试运行命令
    commit
    ,但没有成功。据我所知,建立连接时的“自动提交”相当于在每个SQL语句之后提交
    commit
    。出于这个原因,我想使用它一段时间,看看它是否解决了问题,然后结束这个问题。谢谢你,我遇到了一个完全相同的问题,因为我使用手动事务管理运行我的数据库工具,所以从未创建过用户。