Предоставление всех разрешений на все таблицы в базе данных пользователю в YugabyteDB

Я создал базу данных foo и таблицы bar1 и bar2 в этой базе данных. Я пытаюсь предоставить все разрешения на эти таблицы пользователю 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? Или есть другой способ добиться этого?


person Karthik Ranganathan    schedule 12.10.2019    source источник


Ответы (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
person Neha    schedule 12.10.2019