oh no
oh no

Reputation: 59

"must be member of role" error raises when try to set one user access to another user objects

On google cloud, with "postgres" user (which is not superuser), i do:

CREATE ROLE postgres_subuser1 LOGIN PASSWORD 'some_pass';
CREATE ROLE postgres_subuser2 LOGIN PASSWORD 'some_pass';

GRANT postgres TO postgres_subuser1;
GRANT postgres TO postgres_subuser2;

Above part wroks, though then I try to set users access on each other objects:

ALTER DEFAULT PRIVILEGES FOR ROLE postgres_subuser1 GRANT ALL PRIVILEGES ON TABLES TO postgres_subuser2; 
ALTER DEFAULT PRIVILEGES FOR ROLE postgres_subuser2 GRANT ALL PRIVILEGES ON TABLES TO postgres_subuser1;

gives: must be member of role "postgres_subuser1"

How can solve that?

BTW, if try same on local instance, it works without any error, but this error raises on google cloud.

Upvotes: 3

Views: 9554

Answers (1)

Michael
Michael

Reputation: 2454

You need to explicitly grant the postgres user the role. Eg:

GRANT postgres_subuser1 TO postgres;

Upvotes: 8

Related Questions