使用纯SQL创建用户

时间:2015-05-22 13:05:05

标签: postgresql

我希望有一个用户可以读取数据并将数据插入到一个模式中的所有表中。我已按照SQl声明执行:

CREATE SCHEMA ABC;
CREATE USER MyUser with PASSWORD '12345678';
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA ABC TO MyUser;

当我尝试使用此用户登录时,我会遇到异常:Role' MyUser'不存在......这里有什么不正确的?

2 个答案:

答案 0 :(得分:1)

如何在角色创建时定义权限 现在,我们已准备好使用更改的权限重新创建“demo_role”角色。我们可以通过在main create子句之后指定我们想要的权限来完成此任务:

Human

您可以输入以下内容查看完整的选项列表:

CREATE ROLE role_name WITH optional_permissions;

我们希望为此用户提供登录功能,因此我们将输入:

\h CREATE ROLE

如果我们想要在没有为每个角色创建指定“login”属性的情况下进入此状态,我们实际上可以使用以下命令而不是“CREATE ROLE”命令:

CREATE ROLE demo_role WITH LOGIN;
CREATE ROLE

这两个命令之间的唯一区别是“CREATE USER”自动赋予角色登录权限。

关于PostgreSQL用户管理的

herehere感谢

<强>更新

我们希望为此用户提供登录功能,因此我们将输入:

CREATE USER role_name;

如果我们检查属性CREATE ROLE demo_role WITH LOGIN; CREATE ROLE

\du

答案 1 :(得分:1)

我的用户名区分大小写。用小写字母解决问题。