Mejor usa una tabla para controlar tus correlativos ya que este tipo de numeración debe ser transaccional, en otras palabras debe revertirse si hay un rollback.
Slds, Javier. -----Mensaje original----- De: pgsql-es-ayuda-ow...@postgresql.org [mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de nestor Enviado el: martes, 13 de septiembre de 2011 04:30 p.m. Para: pgsql-es-ayuda@postgresql.org Asunto: [pgsql-es-ayuda] Como evitar que postgrest genere series con "huecos" Que tal amigos de postgrest! Aqui estoy peleandome con las secuencias de postgrest, lo que quiero hacer es evitar que postgres "pierda" o "saltee" secuencias, por ejemplo me pasa que de la secuencia 2250 pasa a la 2259. Estoy intentando modificar la secuencia y verificar que no ocurra dicho "salto" con ul procedimiento almacenado como este: CREATE OR REPLACE FUNCTION lux.tri_bi_reclamos() RETURNS "trigger" AS $BODY$ DECLARE max_reclamo_id bigint not null; icurrval bigint not null; setvalreturn bigint not null; BEGIN begin select max(reclamo_id) into max_reclamo_id from lux.reclamos; raise notice 'max_reclamo_id = %', max_reclamo_id; select currval('lux.reclamos_reclamo_id_seq') into icurrval; if (max_reclamo_id != icurrval) then SELECT setval('lux.reclamos_reclamo_id_seq', max_reclamo_id + 1) into setvalreturn; end if; return new; exception when others then raise exception 'tri_bi_reclamos: (%)', SQLERRM; end; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE; Pero los errores que da me pierden mas y ya no se que hacer. Si alguien tubo un problema como este le agradeceria mucho me mostrara como hacer, porque estoy usando el campo serial para darle numero a reclamos, pero como saltea los numeros no esta sirviendo porque el cliente quiere que sean si o si consecutivos sin ningun "salto" en la serie. Desde ya gracias a la comunidad por su tiempo. Atte. Nestor Rodriguez - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda