PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

postgresql - bilangan bulat di luar jangkauan

SERIAL kolom disimpan sebagai INTEGER s, memberi mereka nilai maksimum 2-1. Jadi setelah ~2 miliar sisipan, id baru Anda nilai tidak akan cocok lagi.

Jika Anda mengharapkan penyisipan sebanyak ini selama masa pakai tabel Anda, buat dengan BIGSERIAL (secara internal sebuah BIGINT , dengan maksimum 2-1).

Jika nanti Anda menemukan bahwa SERIAL tidak cukup besar, Anda dapat menambah ukuran bidang yang ada dengan:

ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;

Perhatikan bahwa ini BIGINT di sini, daripada BIGSERIAL (karena serial bukanlah tipe sebenarnya ). Dan perlu diingat bahwa, jika Anda benar-benar memiliki 2 miliar catatan di tabel Anda, ini mungkin akan memakan waktu cukup lama...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menyatukan dua subquery di SQLAlchemy dan postgresql

  2. Bisakah Alembic Autogenerate mengubah kolom?

  3. Kembalikan data dari subpilihan yang digunakan dalam INSERT dalam Ekspresi Tabel Umum

  4. PILIH jumlah baris tetap dengan melewatkan baris secara merata

  5. Cara Menggunakan Fungsi Substring di PostgreSQL dan Redshift