On Thu, Feb 4, 2010 at 10:43 AM, Craig James <craig_james@xxxxxxxxxxxxxx> wrote: > Tory M Blue wrote: >> >> I have a column that is a bigint that needs to store integers up to 19 >> digits long. For the most part this works but we sometimes have >> numbers that are greater than 9223372036854775807. >> ... >> I was thinking of changing this to a real or double precision field, >> but read in the docs that the value stored is not always the value >> inserted... > > They're actually less precise than the same size of integer. Real/double > datatypes trade more range for less precision in the same number of bytes. > >> My number will always be 19 digits long and always an integer. >> I looked into the numeric data type, but the docs say that it can be slow. > > If it's *always* going to be 19 digits, couldn't you make it a text or char > field? You didn't say if this is really a number. Do you do arithmetic > with it? Sort it numerically? Or is it just a long identifier that happens > to only used digits? it is an identifier and is always a number and is used in grouping and querying. I thought I would lose performance if it is text vs an integer/double field. Tory -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance