2007/05/24

PostgreSQLでユーザ/ロールを削除する

あるユーザを削除しようとしたら以下のようなメッセージで起こられた

# drop role USER;
ERROR: role "USER" cannot be dropped because some objects depend on it
DETAIL:
owner of table TBL
owner of type TBL
access to table TBL2
owner of schema SCHEMA
owner of sequence SEQ

それぞれ
USERは
  • TBLというテーブルが残存している

  • TBL2というテーブルへのアクセス権限が残ってる

  • SCHEMAというスキーマが残ってる

  • SEQというシーケンスが残ってる

  • という意味で、USERが持っているこれらの全てのオブジェクトを削除しないとユーザの削除はできない

    drop table TBL;
    revoke all on TBL2 from USER;
    drop schema SCHEMA;
    drop sequence SEQ;
    drop role USER;
    と実行して、無事削除完了

    0 件のコメント: