|
| 1 | +-- This is borderline unsafe in that an additional login-capable user exists |
| 2 | +-- during the test run. Under installcheck, a too-permissive pg_hba.conf |
| 3 | +-- might allow unwanted logins as regress_authenticated_user_ssa. |
| 4 | +ALTER USER regress_authenticated_user_ssa superuser; |
| 5 | +CREATE ROLE regress_session_user; |
| 6 | +CREATE ROLE regress_current_user; |
| 7 | +GRANT regress_current_user TO regress_authenticated_user_sr; |
| 8 | +GRANT regress_session_user TO regress_authenticated_user_ssa; |
| 9 | +ALTER ROLE regress_authenticated_user_ssa |
| 10 | + SET session_authorization = regress_session_user; |
| 11 | +ALTER ROLE regress_authenticated_user_sr SET ROLE = regress_current_user; |
| 12 | +\c - regress_authenticated_user_sr |
| 13 | +SELECT current_user, session_user; |
| 14 | + current_user | session_user |
| 15 | +----------------------+------------------------------- |
| 16 | + regress_current_user | regress_authenticated_user_sr |
| 17 | +(1 row) |
| 18 | + |
| 19 | +-- The longstanding historical behavior is that session_authorization in |
| 20 | +-- setconfig has no effect. Hence, session_user remains |
| 21 | +-- regress_authenticated_user_ssa. See comment in InitializeSessionUserId(). |
| 22 | +\c - regress_authenticated_user_ssa |
| 23 | +SELECT current_user, session_user; |
| 24 | + current_user | session_user |
| 25 | +--------------------------------+-------------------------------- |
| 26 | + regress_authenticated_user_ssa | regress_authenticated_user_ssa |
| 27 | +(1 row) |
| 28 | + |
| 29 | +RESET SESSION AUTHORIZATION; |
| 30 | +DROP USER regress_session_user; |
| 31 | +DROP USER regress_current_user; |
0 commit comments