向YugabyteDB中的用户授予数据库中所有表的所有权限

时间:2019-10-12 04:44:51

标签: yugabyte-db

我已经创建了一个数据库foo以及该数据库中的表bar1bar2。我正在尝试将这些表上的所有权限授予用户myuser-特别是DML。

我按如下方式创建了用户:

yugabyte=# CREATE USER myuser

我还以root用户身份创建了数据库及其中的相应表。

首先,我尝试了以下操作,但这没有帮助:

yugabyte=# GRANT ALL PRIVILEGES ON database foo to user myuser;

接下来,按照一些PostgreSQL步骤,我尝试了以下方法。这效果不佳。

yugabyte=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;

我猜我的表不在public模式中吗?还是有另一种方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

您需要在数据库GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;上运行foo。在上面的代码段中,您似乎正在数据库yugabyte上运行它。

这应该有效:

yugabyte=# \c foo
You are now connected to database "foo" as user "yugabyte".
foo=# grant all privileges on all tables in schema public to myuser;
GRANT
foo=# set role myuser;
SET
fooo=> insert into hello values(1),(2);
INSERT 0 2
相关问题