Re: Should SET ROLE inherit config params?
От | Josh Berkus |
---|---|
Тема | Re: Should SET ROLE inherit config params? |
Дата | |
Msg-id | 49BBF496.407@agliodbs.com обсуждение исходный текст |
Ответ на | Re: Should SET ROLE inherit config params? (Gregory Stark <stark@enterprisedb.com>) |
Ответы |
Re: Should SET ROLE inherit config params?
|
Список | pgsql-hackers |
Gregory Stark wrote: > Guillaume Smet <guillaume.smet@gmail.com> writes: > >> On Fri, Mar 13, 2009 at 2:39 AM, Josh Berkus <josh@agliodbs.com> wrote: >>> SET ROLE special WITH SETTINGS >>> >>> ... or similar; I'd need to find an existing keyword which works. >> Perhaps something like "SET ROLE special NEW SESSION;". >> >> It solves a problem mentioned by Tom as it's very clear that it's a >> new session so when you reset the settings to what they were at >> session start, you take the default settings of special. > > So this is just syntactic sugar for > > SET ROLE; > RESET ALL; > > Or is it more or less? No, actually, since RESET ALL does not adopt the config settings of your current group role, but only the login role you logged in with, e.g.: postgres=# alter role manson set work_mem = '1MB'; ALTER ROLE postgres=# \c - charles You are now connected to database "postgres" as user "charles". postgres=> show work_mem; work_mem ---------- 2MB (1 row) postgres=> set role manson; SET postgres=> reset all; RESET postgres=> show work_mem; work_mem ---------- 2MB I'd like to have that 2nd work_mem call to show "manson's" work_mem, or 1MB. What I want to be able to do is to set different bunches of resource management settings for various non-login inherited roles, and be able to choose profiles via a SET ROLE. The reason to do this, btw, instead of defining various login roles, is that different login roles can't share the same connection pool. --Josh
В списке pgsql-hackers по дате отправления: