sql >> Databasteknik >  >> RDS >> PostgreSQL

postgresql - heltal utanför intervallet

SERIAL kolumner lagras som INTEGER s, vilket ger dem ett maximalt värde på 2-1. Så efter ~2 miljarder infogning, ditt nya id värden kommer inte längre att passa.

Om du förväntar dig så många inlägg under ditt bords liv, skapa det med en BIGSERIAL (internt en BIGINT , med högst 2-1).

Om du senare upptäcker att en SERIAL inte är tillräckligt stor kan du öka storleken på ett befintligt fält med:

ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;

Observera att det är BIGINT här istället för BIGSERIAL (eftersom serier inte är riktiga typer ). Och kom ihåg att, om du faktiskt har 2 miljarder poster i din tabell, kan det här ta ett tag...




  1. Hur ska jag importera data från CSV till en Postgres-tabell med pgAdmin 3?

  2. Fel nyckelfil för tabellen '/tmp/#sql_18b4_0.MYI' försök reparera den

  3. MYSQL - Gruppera efter gräns

  4. php mysql jämför långa och lat, returer under 10 miles