On Tue, Jul 14, 2015 at 10:52 AM, Thom Brown <t...@linux.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. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers