PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Entier hors plage dans la base de données PostgreSQL

Pour les colonnes de type integer , le :limit la valeur est la longueur maximale de la colonne en octets (documentation ).

Avec une longueur de 4 octets, le plus grand entier signé que vous pouvez stocker est 2 147 483 647, bien plus petit que votre valeur de 4 825 733 517. Vous pouvez augmenter la limite d'octets, par exemple à 8 octets pour être un entier long (a type Bigint PostgreSQL ), cela vous permettra de stocker des valeurs signées jusqu'à 9 223 372 036 854 775 807.

Vous pouvez le faire avec une migration, créez-la avec quelque chose comme rails generate migration change_integer_limit_in_your_table , et le code suivant :

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