Re: currval and DISCARD ALL

From: Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com>
To: Nigel Heron <nigel(at)psycode(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: currval and DISCARD ALL
Date: 2013-04-16 19:13:48
Message-ID: 516DA2EC.8000003@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On 04/16/2013 08:07 AM, Nigel Heron wrote:
>
> On 04/15/2013 05:57 PM, Adrian Klaver wrote:
>> On 04/15/2013 02:42 PM, Nigel Heron wrote:
>>> Hi,
>>> is there a way to clear the session state of sequence values fetched by
>>> currval(regclass)? "DISCARD ALL" doesn't seem to do it.
>>>
> <snip>
>> Might want to take a look at:
>>
>> http://www.depesz.com/2012/12/02/what-is-the-point-of-bouncing/
>>
>> for some hints on dealing with sequences and pgBouncer.
>>
>
> thanks, I read it (his blogs are always interesting!). I'm not disputing
> that calling currval() at the wrong time is a bad idea.
> I'm just wondering why DISCARD ALL clears everything but this?

Well per the docs:

http://www.postgresql.org/docs/9.2/interactive/sql-discard.html

DISCARD ALL

is equivalent to:

SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
CLOSE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;

AFAIK, none of the above affect sequences.

> -nigel.
>

--
Adrian Klaver
adrian(dot)klaver(at)gmail(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Catelli, Mary M 2013-04-16 19:15:28 Postgresql default driver
Previous Message Moshe Jacobson 2013-04-16 19:07:16 Can you spot the difference?

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-04-16 19:27:46 Re: Enabling Checksums
Previous Message Peter Eisentraut 2013-04-16 18:53:32 Re: event trigger API documentation?