5
私は効率的にしようとしていますdrop role
ポストグルインスタンスから、いくつかの問題に実行されます。私はdrop role
にいくつかのSQLを探していますので、エラーメッセージの読み込みを中止して手動で行う必要はありません。多くの助成金の後でpostgresの役割とデータベースをドロップ
CREATE ROLE alpha_user;
CREATE DATABASE alpha_user;
ALTER DATABASE alpha_user OWNER TO alpha_user;
ユーザーは、多くの場合、他のユーザーに自分のデータベースにスキーマへのアクセス権を付与します:
-- alpha_user logs in to the alpha_user database
GRANT USAGE ON SCHEMA myschema TO beta_user;
を私は働いて、すべての役割は、同じ名前の独自のデータベースを取得しています設定で
私はbeta_user
をドロップしようとすると、この問題が発生した:
-- log in as superuser
DROP ROLE beta_user;
-- ERROR: role "beta_user" cannot be dropped because some objects depend on it
-- DETAIL: N objects in database alpha_user
私がに接続することができますalpha_user
データベース、およびOWNED BY
をドロップするが、これは非効率的である:
-- log in as superuser
\c alpha_user;
DROP OWNED BY beta_user CASCADE;
DROP beta_user;
-- success
ユーザーがデータベースの任意の数へのアクセスを許可することができ、多くのユーザーが存在します。スーパーユーザーがユーザーにアクセス権を与えられたすべてのデータベースにわたってDROP OWNED BY
に実行できるステートメント(または一連のステートメント)がありますか?
のPostgreSQLのバージョンは何だとお使いのオペレーティングシステムは何ですか? –
Postgres 9.4、およびUbuntu 14.04。オペレーティングシステムはなぜ重要なのでしょうか? – alacarter
あなたはLinuxが提供するコマンドラインツールの助けを使うことができます。 –