mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Enables pgAdmin to retrieve user permissions in case of nested roles which helps to terminate the session for AWS RDS. Fixes #6641
This commit is contained in:
committed by
Akshay Joshi
parent
008a458fe9
commit
c7fd1ae535
@@ -605,11 +605,14 @@ WHERE db.datname = current_database()""")
|
||||
can_create_role,
|
||||
CASE WHEN roles.rolsuper THEN true
|
||||
ELSE roles.rolcreatedb END as can_create_db,
|
||||
CASE WHEN 'pg_signal_backend'=ANY(ARRAY(
|
||||
SELECT pg_catalog.pg_roles.rolname FROM
|
||||
pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles ON
|
||||
(m.roleid = pg_catalog.pg_roles.oid) WHERE
|
||||
m.member = roles.oid)) THEN True
|
||||
CASE WHEN 'pg_signal_backend'=ANY(ARRAY(WITH RECURSIVE cte AS (
|
||||
SELECT pg_roles.oid,pg_roles.rolname FROM pg_roles
|
||||
WHERE pg_roles.oid = roles.oid
|
||||
UNION ALL
|
||||
SELECT m.roleid,pgr.rolname FROM cte cte_1
|
||||
JOIN pg_auth_members m ON m.member = cte_1.oid
|
||||
JOIN pg_roles pgr ON pgr.oid = m.roleid)
|
||||
SELECT rolname FROM cte)) THEN True
|
||||
ELSE False END as can_signal_backend
|
||||
FROM
|
||||
pg_catalog.pg_roles as roles
|
||||
|
||||
Reference in New Issue
Block a user