助け合いフォーラム

OSS-DB

OSS-DB Silver(Ver2.0)
問題ID : 12229
問題を開く
「test」ロールを、データベースクラスタへログインする権限ありで作成したい。以下のSQLのうち、正しいものはどれか。(2つ選択)

この問題はプレミアムコンテンツです。

上に戻る

LOGIN権限とCONNECT権限の違い

公開日 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 さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。

この投稿に対して返信しませんか?