PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Inteiro fora do intervalo no banco de dados PostgreSQL


Para colunas do tipo integer , o :limit value é o comprimento máximo da coluna em bytes (documentação ).

Com 4 bytes de comprimento, o maior inteiro com sinal que você pode armazenar é 2.147.483.647, muito menor que seu valor de 4.825.733.517. Você pode aumentar o limite de bytes, por exemplo, para 8 bytes para ser um inteiro longo (um tipo PostgreSQL grande ), isso permitirá que você armazene valores assinados de até 9.223.372.036.854.775.807.

Você pode fazer isso com uma migração criá-la com algo como rails generate migration change_integer_limit_in_your_table , e o seguinte código:
class ChangeIntegerLimitInYourTable < ActiveRecord::Migration
  def change
    change_column :your_table, :your_column, :integer, limit: 8
  end 
end