Това е типичен случай на използване на row_number()
прозорец функция. Ако приемем, че основната ви таблица е T, тази заявка трябва да работи с postgresql 8.4 или по-нова:
update T set local_id=s.rn
from (select id,row_number() over(order by id) as rn from T where local_site_id=2) s
where T.id=s.id;