> Another version along that line ?
>
> # create sequence counterseq start 1;
> -- (set/reset whenever a counter is needed)
>
> # select main_table.*, nextval('counterseq') as position2
> into sorted_main_table
> from main_table, keytable where main_table.id =
> keytable.main_table_id
> order by value;
You could also use generate_series(), but I don't know if it can generate
unbounded series...