授予cloudql postgres的rw权限

时间:2017-11-10 02:09:29

标签: postgresql google-cloud-sql

我有这些用户:

postgres | Create role, Create DB | {cloudsqlsuperuser}
proxyuser | Create role, Create DB | {cloudsqlsuperuser}
qa|Create role, Create DB | {cloudsqlsuperuser}

这些表格:

                List of relations
 Schema |        Name        | Type  |   Owner
--------+--------------------+-------+-----------
 public | member_preferences | table | proxyuser
 public | message_queue      | table | proxyuser
 public | pubsub_queue       | table | proxyuser

我目前以postgres用户身份登录,并且希望授予qa用户权限,以便从以后的任何表和该模式中创建的任何表中读取和写入。

我试图关注this

然而,当我跑步时 GRANT SELECT ON ALL TABLES IN SCHEMA public TO qa; 它响应: ERROR: permission denied for relation message_queue

如何进一步排除故障?我错过了什么?

PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4, 64-bit 是实例显示的版本

更新

我必须以首先生成表的proxyuser身份登录,以便能够将权限授予其他用户进行读写。这真的很不舒服,因为所有用户都应用cloudsqlsuperuser角色。因此,我希望桌面上的授权可以从这些用户中的任何一个用户到任何用户。

1 个答案:

答案 0 :(得分:0)

我遇到的问题可能类似于您的问题,现在通过以下方法解决:

  • 以设置实例(而不是postgres)时的第一个用户身份登录
  • 使用此用户向后续用户授予权限

Google似乎授予第一个用户所有权限,但不授予后续用户..也许?!