Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Declare Index decimal field precision error

SA-75866

Summary



Declare Index decimal field precision error occurs when saving an instance to an exposed decimal property.


Error Messages



ERROR: numeric field overflow 
Detail: A field with precision 18, scale 9 must round to an absolute value less than 10^9.  Call getNextException to see other errors in the batch.
at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:148) ~[postgresql-42.1.1.jar:42.1.1] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190) ~[postgresql-42.1.1.jar:42.1.1] 
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:472) ~[postgresql-42.1.1.jar:42.1.1] 
at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:791) ~[postgresql-42.1.1.jar:42.1.1] 
at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1547) ~[postgresql-42.1.1.jar:42.1.1] 
at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) ~[?:?] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171] 
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171] 
at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114) ~[tomcat-jdbc.jar:?] at com.sun.proxy.$Proxy6.executeBatch(Unknown Source) ~[?:?] 
at com.pega.pegarules.data.internal.store.DatabasePreparedStatementImpl.executeBatch(DatabasePreparedStatementImpl.java:472) ~[prprivate.jar:?]


Steps to Reproduce



Save the instance.


Root Cause



A defect or configuration issue in the operating environment. 

By default, when a decimal property is exposed in Postgres, Pega creates the column as a numeric(18,9) field.
That is, only up to 18 (precision) digits can be present, 9 (scale) of which are to the right of the decimal and are always included. This only allows values less than one billion.


Resolution



Perform the following local-change:

Modify the column precision to numeric(18,6).
Suggest Edit

Published March 24, 2019 - Updated December 2, 2021

Did you find this content helpful? Yes No

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us