Thread: Oracle number to PostgreSQL

Oracle number to PostgreSQL

From
Charlin Barak
Date:
Hi,
When migrating from Oracle number(10,3) to PostgreSQL, is numeric(10,3) ideal or should I consider some other data types?

Thanks.

Charlin 

Re: Oracle number to PostgreSQL

From
Stephen Frost
Date:
Greetings,

* Charlin Barak (charlinbarak@gmail.com) wrote:
> When migrating from Oracle number(10,3) to PostgreSQL, is numeric(10,3)
> ideal or should I consider some other data types?

This really depends on what data is actually in that field and if you
need it to be exact.

If the field actually contains integers and always will, then using an
integer type field is *much* more efficient, either 'integer' if the
values will always be less than 2B, or 'bigint' if it'll be larger.

If the field actually contains floating point and can be inexact, then
using 'real' or 'float8' will be more efficient than numeric.

If the field needs to be exact (eg: monetary fields), then using
numeric(10,3) is correct.

I strongly recommend considering the data that goes into the field when
making this decision- there really is no 'one size fits all' when going
from number to numeric.

Thanks,

Stephen

Attachment

Re: Oracle number to PostgreSQL

From
Charlin Barak
Date:
Thanks Stephen. Something for me to consider. 

Charlin

On Wed, May 1, 2019 at 9:25 AM Stephen Frost <sfrost@snowman.net> wrote:
Greetings,

* Charlin Barak (charlinbarak@gmail.com) wrote:
> When migrating from Oracle number(10,3) to PostgreSQL, is numeric(10,3)
> ideal or should I consider some other data types?

This really depends on what data is actually in that field and if you
need it to be exact.

If the field actually contains integers and always will, then using an
integer type field is *much* more efficient, either 'integer' if the
values will always be less than 2B, or 'bigint' if it'll be larger.

If the field actually contains floating point and can be inexact, then
using 'real' or 'float8' will be more efficient than numeric.

If the field needs to be exact (eg: monetary fields), then using
numeric(10,3) is correct.

I strongly recommend considering the data that goes into the field when
making this decision- there really is no 'one size fits all' when going
from number to numeric.

Thanks,

Stephen