Re: Discarding DISCARD ALL

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Discarding DISCARD ALL
Дата
Msg-id CANbhV-H2FKhpi143ObrMfk94JXqDzvgUZM=GPAy4RS4RGNqfbQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Discarding DISCARD ALL  (James Coleman <jtc331@gmail.com>)
Список pgsql-hackers
On Wed, Jan 20, 2021 at 3:53 PM James Coleman <jtc331@gmail.com> wrote:
>
> On Wed, Jan 20, 2021 at 9:58 AM Simon Riggs <simon@2ndquadrant.com> wrote:
> >
> > On Wed, 20 Jan 2021 at 14:21, James Coleman <jtc331@gmail.com> wrote:
> >
> > > An alternative approach that occurred to me while typing this reply: a
> > > setting in Postgres that would disallow setting session level GUCs
> > > (i.e., enforce `SET LOCAL` transaction level usage instead) would
> > > remove a large chunk of our need to set server_reset_query_always=1
> > > (and more interestingly it'd highlight when broken code gets pushed).
> > > But even with that, I see some value in the proposed setting since
> > > there is additional session state beyond GUCs.
> >
> > With transaction_cleanup=on we could force all SETs to be SET LOCAL.
> >
> > The point is that if we declare ahead of time that the transaction
> > will be reset then we can act differently and more easily for various
> > circumstances, for SETs, for Temp tables and others.
>
> Right, I agree it's independently useful. My "alternative" is a subset
> of that functionality and doesn't cover as many cases.

So if we go for that option, would we call it?

session_state = 'session' (default) | 'local_set'

If you use 'local' then you find that all state is transaction only
* SET defaults to meaning SET LOCAL
* SET SESSION returns ERROR

-- 
Simon Riggs                http://www.EnterpriseDB.com/



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Add version macro to libpq-fe.h
Следующее
От: Tom Lane
Дата:
Сообщение: Re: disfavoring unparameterized nested loops