Hello
From: pgsql-general-ow...@postgresql.org [mailto:pgsql-general-ow...@postgresql.org] On Behalf Of Guyren Howe Sent: Montag, 2. Oktober 2017 16:10 To: David G. Johnston <david.g.johns...@gmail.com> Cc: PostgreSQL General <pgsql-general@postgresql.org> Subject: Re: [GENERAL] Setting search_path ignored I logged out and back and did SET ROLE and got the same resullt. On Oct 2, 2017, 10:06 -0400, David G. Johnston <david.g.johns...@gmail.com <mailto:david.g.johns...@gmail.com> >, wrote: On Mon, Oct 2, 2017 at 7:00 AM, Guyren Howe <guy...@gmail.com <mailto:guy...@gmail.com> > wrote: CREATE ROLE thing_accessor; CREATE ROLE CREATE SCHEMA thing_accessor; CREATE SCHEMA covermything=> ALTER ROLE thing_accessor SET search_path=thing_accessor; ALTER ROLE covermything=# SET ROLE thing_accessor; SET covermything=> SHOW search_path; search_path ----------------- "$user", public (1 row) This seems to contradict all the advice I can find about setting the schema search path. Settings associated with roles only take affect at session start/login. SET ROLE does not cause them to be read/executed. <https://www.postgresql.org/docs/9.6/static/config-setting.html> https://www.postgresql.org/docs/9.6/static/config-setting.html "Values set with ALTER DATABASE and ALTER ROLE are applied only when starting a fresh database session." David J. search_path is not a privilege, but a property. Properties are tight to the logged in user. With SET ROLE you become the role only for its privileges, not its properties. Regards Charles