sql >> Database teknologi >  >> RDS >> PostgreSQL

postgresql - heltal uden for rækkevidde

SERIAL kolonner gemmes som INTEGER s, hvilket giver dem en maksimal værdi på 2-1. Så efter ~2 milliarder indsættelser, dit nye id værdier passer ikke længere.

Hvis du forventer så mange indstik i løbet af dit bords levetid, skal du oprette det med en BIGSERIAL (internt en BIGINT , med et maksimum på 2-1).

Hvis du senere opdager, at en SERIAL ikke er stor nok, kan du øge størrelsen af ​​et eksisterende felt med:

ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;

Bemærk, at det er BIGINT her, i stedet for BIGSERIAL (da serier ikke er rigtige typer ). Og husk på, at hvis du rent faktisk har 2 milliarder poster i din tabel, kan det tage lidt tid...




  1. MySQL flere id-opslag

  2. Brug af PDO rejst undtagelse kunne ikke finde driver

  3. download RDS snapshot

  4. Sådan finder du sorteringen i SQL Server (T-SQL)