PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Ganzzahl außerhalb des zulässigen Bereichs in der PostgreSQL-Datenbank

Für Spalten vom Typ integer , das :limit value ist die maximale Spaltenlänge in Byte (documentation ).

Bei einer Länge von 4 Byte ist die größte vorzeichenbehaftete Ganzzahl, die Sie speichern können, 2.147.483.647, viel kleiner als Ihr Wert von 4.825.733.517. Sie können das Byte-Limit beispielsweise auf 8 Bytes erhöhen, um eine lange Ganzzahl zu sein (ein bigint PostgreSQL-Typ ), ermöglicht Ihnen dies, vorzeichenbehaftete Werte bis zu 9.223.372.036.854.775.807 zu speichern.

Sie können dies mit einer Migration tun, die mit so etwas wie rails generate migration change_integer_limit_in_your_table erstellt wird , und den folgenden Code:

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