
デフォルトのユーザー アカウントで 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