On Jun 11, 2004, at 1:02 PM, Christopher Kings-Lynne wrote:
3. Or even create a pg_get_sequence() function: SELECT SETVAL(pg_get_sequence(schema.table, col), 17);
Actually, this is the best solution :)
John Hansen and I worked this up. It works, though it's not schema-aware, afaict.
create or replace function last_val( text -- tablename , text -- colname ) returns bigint language 'sql' as ' select currval( (select split_part(adsrc,\'\'\'\',2) as seq from pg_class join pg_attribute on (pg_class.oid = pg_attribute.attrelid) join pg_attrdef on (pg_attrdef.adnum = pg_attribute.attnum and pg_attrdef.adrelid = pg_attribute.attrelid) where pg_class.relname = $1 and pg_attribute.attname = $2) ); ';
Might be a starting point.
Michael Glaesemann grzm myrealbox com
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster