非互換
LOCK TABLEの権限を簡素化し、より大きなロックレベルの権限を持っているユーザは、より小さなロックレベルを発行できるようにします
Fujitsu Enterprise Postgres 15 では、INSERT権限を持つ場合であっても、ACCESS SHARE MODEでのロックが拒否され、エラーが発生します。
postgres=# GRANT INSERT ON lock_table TO regress_locktable_user; GRANT postgres=# SET SESSION AUTHORIZATION regress_locktable_user; SET postgres=> BEGIN; BEGIN postgres=*> LOCK TABLE lock_table IN ACCESS SHARE MODE; -- should pass ERROR: permission denied for table lock_table
Fujitsu Enterprise Postgres 16では、INSERT権限を持っている場合には、ACCESS SHARE MODEでのロックが発行できます。
postgres=# GRANT INSERT ON lock_table TO regress_locktable_user; GRANT postgres=# SET SESSION AUTHORIZATION regress_locktable_user; SET postgres=> BEGIN; BEGIN postgres=*> LOCK TABLE lock_table IN ACCESS SHARE MODE; -- should pass LOCK TABLE
対処方法
ありません。