Sie benötigen einen Primärschlüssel (oder eine eindeutige Spalte), um Zeilen einer Tabelle einzeln zu aktualisieren. In Ermangelung einer solchen Spalte können Sie die versteckte Spalte ctid
verwenden was per Definition eindeutig ist, Beispiel:
update foo f
set ver = rn
from (
select ctid, row_number() over (order by ctid) as rn
from foo
) s
where f.ctid = s.ctid