user17492541
user17492541

Reputation:

Can't grant all tables permission denied

I can't grant a new role on all tables. A table denies the query. How can I grant the user to be able run this command?

CREATE ROLE userrole123 WITH LOGIN PASSWORD 'userrole123' VALID UNTIL '2024-01-07 09:37:39.0' INHERIT;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO userrole123;

Output

SQL Error [42501]: ERROR: permission denied for table test

I run this command GRANT USAGE ON SCHEMA public to myusername but it did not solve it.

Thanks

Upvotes: 1

Views: 2586

Answers (1)

Laurenz Albe
Laurenz Albe

Reputation: 246013

The documentation is pretty outspoken there:

Ordinarily, only the object's owner (or a superuser) can grant or revoke privileges on an object. However, it is possible to grant a privilege “with grant option”, which gives the recipient the right to grant it in turn to others.

So obviously the user who is running the GRANT is neither a superuser, nor does it own test, nor has it been granted the SELECT privilege WITH GRANT OPTION.

Upvotes: 1

Related Questions