PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

postgresql - цяло число извън диапазона

SERIAL колоните се съхраняват като INTEGER s, давайки им максимална стойност от 2-1. Така че след ~2 милиарда вмъквания, вашият нов id стойностите вече няма да пасват.

Ако очаквате толкова много вмъквания през живота на вашата маса, създайте я с BIGSERIAL (вътрешно BIGINT , с максимум 2-1).

Ако по-късно откриете, че SERIAL не е достатъчно голямо, можете да увеличите размера на съществуващо поле с:

ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;

Имайте предвид, че е BIGINT тук, вместо BIGSERIAL (тъй като серийните номера не са реални типове ). И имайте предвид, че ако действително имате 2 милиарда записа в таблицата си, това може да отнеме известно време...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате PostgreSQL 12 на Fedora 33

  2. Избройте колони с индекси в PostgreSQL

  3. Как да използвам `RETURN NEXT` в PL/pgSQL правилно?

  4. изберете радиус от ST_MinimumBoundingRadius

  5. Присвояване на същия идентификатор на редове с една и съща комбинация от данни