助け合いフォーラム
OSS-DB Silver(Ver2.0)
問題ID : 12229
問題を開く
「test」ロールを、データベースクラスタへログインする権限ありで作成したい。以下のSQLのうち、正しいものはどれか。(2つ選択)
この問題はプレミアムコンテンツです。
LOGIN権限とCONNECT権限の違い
a
alf58
公開日 2023/02/28
解説でLOGINのことを「データベースへ接続する権限」と説明されていますが、データベースに接続する権限はCONNECTであり、LOGINはログイン可能かではないでしょうか。
試しにPUBLICロールからCONNECT権限をREVOKEした状態で選択肢にあるコマンドでユーザを作成しましたが、下記のようにログインはできてもデータベースに接続することはできませんでした。
Y:\postgres>psql -U test -W test
パスワード:
psql: FATAL: データベース"test"へのアクセスが拒否されました
DETAIL: ユーザはCONNECT権限を持ちません。
LOGIN権限がない場合のエラーは下記であり、LOGINとCONNECTは明確に区別されている認識です。
Y:\postgres>psql -U test -W postgres
パスワード:
psql: FATAL: ロール"test"はログインすることが許されていません
問題が暗黙に「PUBLICロールにデータベースに接続する権限がある」ことを前提としており、設問が不適切ではないかと感じます。
スタッフからの返信
この投稿に対して返信しませんか?
s staff_ishii
2023/07/06 18:34
alf58 さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。