How to reset sequence in postgres and fill id column with new data?

前端 未结 13 2166
星月不相逢
星月不相逢 2020-11-27 10:47

I have a table with over million rows. I need to reset sequence and reassign id column with new values (1, 2, 3, 4... etc...). Is any easy way to do that?

13条回答
  •  独厮守ぢ
    2020-11-27 11:17

    To retain order of the rows:

    UPDATE thetable SET rowid=col_serial FROM 
    (SELECT rowid, row_number() OVER ( ORDER BY lngid) AS col_serial FROM thetable ORDER BY lngid) AS t1 
    WHERE thetable.rowid=t1.rowid;
    

提交回复
热议问题