PG 9.6.24 (Soon, I swear!) It seems that the search_path of the role that you SET ROLE to does not become the new search_path.
Am I missing something, or is that PG's behavior? AS USER postgres ================ $ psql -h 10.143.170.52 -Xac "CREATE ROLE dbagrp SUPERUSER INHERIT NOLOGIN;" CREATE ROLE dbagrp SUPERUSER INHERIT NOLOGIN; CREATE ROLE $ psql -h 10.143.170.52 -Xac "CREATE USER rjohnson IN GROUP dbagrp INHERIT;" CREATE USER rjohnson IN GROUP dbagrp INHERIT; CREATE ROLE [postgres@FISPMONDB001 ~]$ psql -h 10.143.170.52 -Xac "CREATE USER \"11026270\" IN GROUP dbagrp INHERIT PASSWORD '${NewPass}' VALID UNTIL '2024-06-30 23:59:59';" CREATE USER "11026270" IN GROUP dbagrp INHERIT PASSWORD 'linenoise' VALID UNTIL '2024-06-30 23:59:59'; CREATE ROLE $ psql -h 10.143.170.52 -Xac "ALTER ROLE dbagrp set search_path = dbagrp, public, dba, cds, tms;" ALTER ROLE dbagrp set search_path = dbagrp, public, dba, cds, tms; ALTER ROLE AS USER rjohnson ================ [rjohnson@fpslbxcdsdbppg1 ~]$ psql -dCDSLBXW psql (9.6.24) Type "help" for help. CDSLBXW=> SET ROLE dbagrp; SET CDSLBXW=# CDSLBXW=# SHOW SEARCH_PATH; search_path ----------------- "$user", public (1 row) Back to user postgres ================= $ psql -h 10.143.170.52 -Xac "ALTER ROLE rjohnson set search_path = dbagrp, public, dba, cds, tms;" ALTER ROLE rjohnson set search_path = dbagrp, public, dba, cds, tms; ALTER ROLE Back to user rjohnson ================= [rjohnson@fpslbxcdsdbppg1 ~]$ psql -dCDSLBXW psql (9.6.24) Type "help" for help. CDSLBXW=> CDSLBXW=> SET ROLE dbagrp; SET CDSLBXW=# SHOW SEARCH_PATH; search_path ------------------------------- dbagrp, public, dba, cds, tms (1 row)