Re: maximum digits for NUMERIC

Gianni Ciolli <gianni.ciolli@2ndquadrant.it>

From: Gianni Ciolli <gianni.ciolli@2ndquadrant.it>
To: pgsql-hackers@postgresql.org
Cc: Noah Misch <noah@leadboat.com>
Date: 2011-03-25T18:09:54Z
Lists: pgsql-hackers

Attachments

On Fri, Mar 25, 2011 at 08:46:17AM +0000, Gianni Ciolli wrote:
> On Sun, Mar 20, 2011 at 08:14:21PM -0400, Noah Misch wrote:
> > Agreed.  The documentation is suggestive of this limit:
> > 
> > # CREATE TABLE n (c numeric(1001,0));
> > ERROR:  NUMERIC precision 1001 must be between 1 and 1000
> > LINE 1: CREATE TABLE n (c numeric(1001,0));
> > 
> > However, that's indeed just a limit of the numeric typmod representation, not
> > the data type itself.  An unqualified "numeric" column hits no such limit.
> 
> For the record, the limits I found from my tests are:
> * 2^17 - 1 maximum total digits
> * 2^14 - 1 maximum fractional digits
> 
> (I did tests as I couldn't extract any obvious limit from the source
> code of numeric.c)

The attached patch resumes this short discussion.

Best regards,
Dr. Gianni Ciolli - 2ndQuadrant Italia
PostgreSQL Training, Services and Support
gianni.ciolli@2ndquadrant.it | www.2ndquadrant.it