![他のユーザーが閲覧できるデータセットを Google Cloud PostgreSQL インスタンスにアップロードするにはどうすればよいですか?](https://rvso.com/image/1543193/%E4%BB%96%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%8C%E9%96%B2%E8%A6%A7%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%82%92%20Google%20Cloud%20PostgreSQL%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
デフォルトのユーザー アカウントで Google Cloud PostgreSQL インスタンスに複数のデータセットをアップロードしました。しかし、2 番目のユーザー アカウントで同じデータセットを表示しようとすると、それらは表示されなくなります。2 番目のアカウントが別のデータベースに接続しているようです。最初のアカウントでログインすると、「 」というメッセージが表示されますu'Connected: postgres@datasets'
。2 番目のアカウントでログインし、まったく同じデータベース名 (データセット) を指定すると、「u'Connected: user_2@datasets_1'
」というメッセージが表示されます。データベース名に が追加されています_1
。なぜこのようなことが起こるのか、また、これを停止する方法を知っている人はいますか?
関連する注意点: 最初の問題が解決したら、2 番目のユーザー アカウントの権限を変更して、そのアカウントを使用するユーザーがデータベース内のテーブルを変更または削除できないようにする必要があります。どうすればいいでしょうか?
答え1
そこで私は答えを見つけました。user_2 に選択権限を付与する必要がありました。私は、この Stack Overflow の質問に対する回答に従ってこれを行いました。https://stackoverflow.com/questions/13497352/error-permission-denied-for-relation-tablename-on-postgres-while-trying-a-selec
具体的には、私が使用したコードは次のとおりです。
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user_2