我正在运行这个命令
gcloud sql import sql db1 gs://mybucket/sqldumpfile.gz --database=mydb1
将数据库快照导入到新数据库中。在运行它之前,我使用Cloud Console重新创建了源数据库中的相同用户。然而,我一直得到这个错误:
ERROR: must be member of role "postgres"
STATEMENT: ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT SELECT ON TABLES TO user1;
我不知道该怎么做,哪个用户必须是角色postgresql的成员。
任何建议都很感谢
要为user2授予默认权限,请使用for ROLE子句:
ALTER DEFAULT PRIVILEGES FOR USER <user-1> IN SCHEMA <user-1> GRANT INSERT, UPDATE, DELETE ON TABLES TO <user-2>;
ALTER DEFAULT PRIVILEGES FOR USER <user-1> IN SCHEMA <user-1> GRANT SELECT ON TABLES TO <user-2>;
您需要从创建表的user-1授予权限,因此每当user-1创建表时,它将为user-2授予SELECT权限。
更多信息请参考本文档