ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.95 付与された権限を持つロールの依存関係のチェック強化

非互換

ロールに付与された権限に対して依存関係のチェックが強化されました。

付与されていた権限を使用してオブジェクトを作成していた場合に、ロールからその権限を削除するとエラーとなる場合があります。

Fujitsu Enterprise Postgres 15以前の場合
postgres=# CREATE ROLE role_1;
CREATE ROLE
postgres=# CREATE ROLE role_2 WITH ADMIN role_1;
CREATE ROLE
postgres=# CREATE ROLE grp WITH ADMIN role_1;
CREATE ROLE
postgres=# SET ROLE role_1;
SET
postgres=> GRANT grp TO role_2 GRANTED BY role_1;
GRANT ROLE
postgres=> SET ROLE postgres;
SET
postgres=# REVOKE ADMIN OPTION FOR grp FROM role_1;
REVOKE ROLE
Fujitsu Enterprise Postgres 16の場合
postgres=# CREATE ROLE role_1;
CREATE ROLE
postgres=# CREATE ROLE role_2 WITH ADMIN role_1;
CREATE ROLE
postgres=# CREATE ROLE grp WITH ADMIN role_1;
CREATE ROLE
postgres=# SET ROLE role_1;
SET
postgres=> GRANT grp TO role_2 GRANTED BY role_1;
GRANT ROLE
postgres=> SET ROLE postgres;
SET
postgres=# REVOKE ADMIN OPTION FOR grp FROM role_1;
ERROR:  dependent privileges exist
HINT:  Use CASCADE to revoke them too.

対処方法

REVOKEコマンドにCASCADEオプションを指定してください。