How large can an id get in postgresql
integer, postgresql, primary-key
Solution
Here is a handy chart for PostgreSQL:
Name Storage Size Description Range
smallint 2 bytes small-range integer -32768 to +32767
integer 4 bytes usual choice for integer -2147483648 to +2147483647
bigint 8 bytes large-range integer -9223372036854775808 to 9223372036854775807
smallserial 2 bytes small autoincrementing integer 1 to 32767
serial 4 bytes autoincrementing integer 1 to 2147483647
bigserial 8 bytes large autoincrementing integer 1 to 9223372036854775807
Source
Your assessment is right, you'd run out of unique ID's if you used a data type that was insufficient.
Problem
I am using postgresql, and was wondering how large ``` id INTEGER PRIMARY KEY ``` can get compared to ``` id SERIAL PRIMARY KEY ``` In java an `int` is 4 bytes (32 bits) so it can get up to 2,147,483,647. Is this the case in postgresql? If so does that mean I cannot go past 2,147,483,647 rows?