1. ホーム
  2. postgresql

[解決済み] 既存の権限を持つユーザーを迅速に削除する方法

2022-05-14 02:08:07

質問

今作っているアプリで制限付きDBユーザーを作ろうとしているのですが、実験用に使っているPostgresデータベースのユーザーを落としたいのです。最初に手動ですべての権限を取り消したり、ユーザーが持っているすべてのグラントを取り消したりすることなく、ユーザーを削除する方法はありますか?

解決方法を教えてください。

どうですか?

DROP USER <username>

のエイリアスです。 DROP ROLE .

そのユーザーに関連する特権を明示的に削除し、その所有権を他のロールに移動する(またはオブジェクトを削除する)必要があります。

これを実現するには、以下の方法が最適です。

REASSIGN OWNED BY <olduser> TO <newuser>

そして

DROP OWNED BY <olduser>

後者は、そのユーザーに付与された特権をすべて削除します。

についてはpostgresのドキュメントを参照してください。 ドロップ・ロール(DROP ROLE より詳細な説明 のことである。



追加です。

どうやら、ここで紹介したコマンドを使用してユーザーを削除しようとすると、ここで説明されているように、元のGRANTが作成されたのと同じデータベースに接続されているときにのみ、そのコマンドが動作するようです。

https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local