TL;DR: Most Oracle-to-PostgreSQL data type mappings are straightforward.
The dangerous ones are not.
Oracle DATE includes a time component that PostgreSQL DATE silently discards.
Oracle NUMBER maps to NUMERIC by default, which is correct but slow for integer workloads.
Empty strings in Oracle are NULL; in PostgreSQL they are not.
This guide gives you the full mapping table and covers the five traps that cause silent data corruption during migration.
Oracle to PostgreSQL Migration Best Practices: A Checklist for DBAs and Architects
TL;DR: Most Oracle to PostgreSQL migrations don’t fail because of the tools — they fail because of skipped steps.
This checklist covers every phase from pre-migration assessment through cutover: the data type traps that cause silent data loss, the sequence and NULL differences that break applications after go-live, the testing steps that get cut when timelines slip, and the cutover decisions that determine whether you can roll back if something goes wrong.