When delete row in postgres doesn't decrement

2019-08-28 00:46发布

问题:

This question already has an answer here:

  • PostgreSQL gapless sequences 1 answer

i'm new to postgres. if in sqlserver we have a table with auto-increment, and 10 rows... and the last row have id = 10. when you delete the last row, the next you insert will get the id = 10 too... sure?

but in postgres, using bigserial as pk, when i delete the row with the max Id, and insert a new row, it keeps incrementing more and more the pk number..

this is right?

回答1:

That's right. Read the manual about sequences.

bigserial and serial are just notational convenience for creating a bigint / integer column with the default set to nextval() from a connected sequence.

And it needs to be that way for safe concurrent use.