首页 > 解决方案 > 将数据库中所有表的所有权限授予 YugabyteDB 中的用户

问题描述

我在这个数据库中创建了一个数据库和foo表。我正在尝试将这些表的所有权限授予用户- 特别是 DML。bar1bar2myuser

我创建的用户如下:

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架构中?还是有另一种方法可以实现这一目标?

标签: yugabyte-db

解决方案


您需要GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;在数据库上运行foo。从上面的代码片段中,您可以在 database 上运行它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

推荐阅读