> Not so bad. Try something like this: > > SELECT min(id+1) as id_new FROM table > WHERE (id+1) NOT IN (SELECT id FROM table); > > Now, this requires probably a sequential scan, but I'm not sure how you > can get around that. > Maybe if you got trickier and did some ordering and limits. The above > seems to give the right answer, though.
it does, but it is still faster than generate_series(), which requires both a seqscan and a materialization of the function. > I don't know how big you want to scale to. big. :) merlin ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend