1. ホーム
  2. sql

[解決済み] 42501: Postgresql でクエリ中に INSUFFICIENT PRIVILEGE ERROR が発生しました。

2022-02-19 02:01:51

質問

Postgresqlでデータベースのテーブルを照会しようとしていますが、以下のクエリを実行するたびにINSUFFICIENT PRIVILEGEエラーが発生します。このようなパーミッション拒否エラーの原因は何でしょうか。また、私はLinux環境にあるデータベースに接続するために、Windowsでpgadminツールを使用しています。以下は、私が実行しているクエリです。

> > SELECT appid,hash 
>       FROM app
>       WHERE appid=1;

同じクエリを実行すると、次のようなエラーが発生します。

ERROR:  permission denied for relation app

********** Error **********

ERROR: permission denied for relation app
SQL state: 42501

解決方法は?

クエリを実行するユーザは、そのテーブルに対するパーミッションが必要です。GRANT ステートメントを使用して、そのユーザーに権限を与えることができます。以下は、PUBLICに権限を付与する例です。

GRANT SELECT ON tablename TO PUBLIC;

また、SELinuxが原因でisseや以下のような場所が発生するのを見たことがあります。 ここで という記述があります。SELinuxをオフにするコマンドはよくわかりませんが、SELinuxが動作しているかどうかは

selinuxenabled && echo enabled || echo disabled