DROP ROLE コマンド: 現在のプライマリロールの削除制限(保留中)¶
この動作変更バンドルが有効な場合、 DROP ROLE コマンドの動作は以下のように変更されます。
- 変更前:
ユーザーは、現在のプライマリロールを削除する DROP ROLE コマンドを実行できます。現在のプライマリロールは、セッションで現在アクティビティになっているロールです。例えば、このロールは USE ROLE コマンドで設定することも、ユーザー接続の一部として定義することも、ユーザーの既定のロールとして定義することもできます。
- 変更後:
ユーザーは、現在のプライマリロールを削除する DROP ROLE コマンドを実行できなくなりました。このロールを削除しようとすると、以下のエラーが返されます。
SQL execution error: Cannot drop role <x> as it is the current primary role.
変更の理由¶
この変更は、現在の動作が次のような結果をもたらすためです。
現在のプライマリロールが削除されると、オブジェクト所有権のメタデータが一貫性のない状態になります。
削除されたプライマリロールを使用していたセッションは中断されます。
この変化への準備¶
この変更に備えるため、すべての自動化プロセスで DROP ROLE コマンドが使用されていないか確認し、これらのコマンドが現在のプライマリロールを削除しようとしないことを確認してください。また、過去にこのような動作がなかったか、クエリの履歴を確認してください。
参照: 1843