[解決済み】ERROR:Postgresを使用したcities_id_seqシーケンスに対するパーミッションが拒否されました。
2022-04-20 05:13:46
質問
私はpostgresの初心者です(データベース情報システム全般の初心者です)。私のデータベースで次のようなSQLスクリプトを実行しました。
create table cities (
id serial primary key,
name text not null
);
create table reports (
id serial primary key,
cityid integer not null references cities(id),
reportdate date not null,
reporttext text not null
);
create user www with password 'www';
grant select on cities to www;
grant insert on cities to www;
grant delete on cities to www;
grant select on reports to www;
grant insert on reports to www;
grant delete on reports to www;
grant select on cities_id_seq to www;
grant insert on cities_id_seq to www;
grant delete on cities_id_seq to www;
grant select on reports_id_seq to www;
grant insert on reports_id_seq to www;
grant delete on reports_id_seq to www;
時、ユーザーwwwのように、しようとすると。
insert into cities (name) values ('London');
以下のようなエラーが発生します。
ERROR: permission denied for sequence cities_id_seq
問題はシリアルタイプにあることはわかりました。そのため、wwwに*_id_seqのselect、insert、delete権限を付与しています。私は何を見逃しているのでしょうか?
解決方法は?
PostgreSQL 8.2以降では、PostgreSQLを使用する必要があります。
GRANT USAGE, SELECT ON SEQUENCE cities_id_seq TO www;
GRANT USAGE - シーケンスに対して、この権限によりcurrvalおよびnextval関数を使用することができます。
また、コメントで @epic_fil さんが指摘されているように、スキーマ内のすべてのシーケンスに対して権限を付与することができます。
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO www;
備考
: データベースを選択することを忘れないでください (
\c <database_name>
) を実行してから、権限付与コマンドを実行します。
関連
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] "保護されていない秘密鍵ファイル!" Amazon EC2インスタンス(AWS)へのSSH利用時のエラーについて
-
[解決済み] postgres の主キー配列が同期しなくなったときにリセットする方法は?
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] 'ユーザー "postgres" のパスワード認証に失敗しました'
-
[解決済み] リレーションシップのパーミッションが拒否されました
-
[解決済み】npmインストール時。Unhandled rejection Error: EACCES: パーミッションが拒否されました。
-
[解決済み] Postgresの既存のカラムに'serial'を追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】2つの列を分割する方法は?
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] "このSqlTransactionは完了しました。もう使用できません。"...設定エラー?
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] SQLiteでどのようにピボットするか、つまり、長い形式で保存されたテーブルを広い形式で選択するか?
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?