2017-01-24 7 views
1

私のpostgresデータベースadmin1とadmin2には2人の管理者ユーザーがいます。今私はadmin1を使用してログインし、新しいユーザーのtempを作成します。私はadmin1ログインを使用してこのユーザーを削除できますが、admin2を使用して削除しようとすると、「ロール」tempというエラーが表示されます。他のユーザーが作成したPostgresqlユーザー

作成、管理、ユーザ文は、次のとおりです。

create user admin2 with password '...admin2'; 
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO admin2 WITH grant option; 
ALTER USER admin2 CREATEROLE; 

私は一時を削除することができるようにADMIN2に与える必要があり、別の権限がありますか?

一時ユーザー文を作成しては、以下のとおりです。

create user temp with password '... temp'; 
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO temp; 

マイドロップ一時ユーザー文は、次のとおりです。

REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM temp; 
REVOKE ALL ON DATABASE database FROM temp; 
DROP USER temp; 
+0

サーバのバージョン、してください –

答えて

0

CREATEROLEは、ロールを削除することができるようにenoughtされます。しかし、すべての依存関係を削除する必要があります。エラーメッセージは依然として依存関係があることを示しています。

manualごとに、REASSIGN OWNEDまたはDROP OWNEDのいずれかの依存関係を削除できます。例えば

REASSIGN OWNED BY temp TO admin2; 
+0

場合厥、なぜそれは私がが所有する再割り当てすることなく、ユーザーが作成したユーザー(ADMIN1)を使用して、それを削除すると削除されますない場合。 – Joy

+0

良い点、確かにあなたがadmin2として実行されたときに取り消しの仕事を正しく確認していませんか? – Eelke

関連する問題