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

Intero fuori intervallo nel database PostgreSQL

Per colonne di tipo integer , il :limit value è la lunghezza massima della colonna in byte (documentazione ).

Con una lunghezza di 4 byte, l'intero con segno più grande che puoi memorizzare è 2.147.483.647, molto più piccolo del tuo valore di 4.825.733.517. Puoi aumentare il limite di byte, ad esempio a 8 byte per essere un intero lungo (a tipo PostgreSQL grande ), ciò ti consentirà di memorizzare valori firmati fino a 9.223.372.036.854.775.807.

Puoi farlo con una migrazione, creala con qualcosa come rails generate migration change_integer_limit_in_your_table e il codice seguente:

class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
  def change
    change_column :your_table, :your_column, :integer, limit: 8
  end 
end