Re: Support retrieving value from any sequence

From: Thom Brown <thom(at)linux(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Support retrieving value from any sequence
Date: 2015-07-14 16:33:13
Message-ID: CAA-aLv6uskKcZzuO2+wqi8Bgf2owaTgu4RHYhi4mdE2ms78dzA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 14 July 2015 at 17:17, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>
> On Tue, Jul 14, 2015 at 10:52 AM, Thom Brown <thom(at)linux(dot)com> wrote:
> > When using currval() to find the current value of all sequences, it chokes
> > on those that aren't initialised. This is expected and documented as
> > behaving in this manner. However, I think it would be useful to also
> > support retrieving the current value of a sequence, regardless of whether
> > it's been used. As this wouldn't be to get a sequence value for the current
> > session, but all sessions, this would ideally get the real current value.
> >
> > The use-case I have in mind is for finding out how close to the 32-bit
> > integer limit sequences have reached. At the moment, this isn't possible
> > without creating a custom function to go fetch the last_value from the
> > specified sequence.
> >
> > So would it be desirable to have a function which accepts a sequence
> > regclass as a parameter, and returns the last_value from the sequence?
> >
> > Effectively, the same result as what this provides:
> >
> > CREATE FUNCTION lastval(tablename regclass) RETURNS bigint AS $$
> > DECLARE
> > last_value bigint;
> > BEGIN
> > EXECUTE format('SELECT last_value FROM %I ', tablename) INTO last_value
> > USING tablename;
> > RETURN last_value;
> > END
> > $$ LANGUAGE plpgsql;
>
> Since it's trivial to define this function if you need it, I'm not
> sure there's a reason to include it in core.

It's not always possible to create functions on a system when access
is restricted. It may even be the case that procedural languages are
prohibited, and plpgsql has been removed.

Thom

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Smitha Pamujula 2015-07-14 16:48:59 Re: pg_upgrade + Extensions
Previous Message Jeff Janes 2015-07-14 16:28:12 Re: WIP: Enhanced ALTER OPERATOR