| CREATE | | Comment |
|---|
| DATABASE LINK | ✅ | visible, use PostgreSQL [Foreign Data Wrapper] |
| DIRECTORY | ❌ | |
| FUNCTION | ✅ | code needs to be translated manually |
| INDEX | ✅ | |
| MATERIALIZED VIEW | ✅ | |
| PACKAGE | ✅ | package code visible, code needs to be translated manually |
| PROCEDURE | ✅ | code needs to be translated manually |
| SCHEMA | ✅ | |
| SEQUENCE | ✅ | |
| SYNONYMS | ✅ | visible, have to be migrated manually |
| TABLE | ✅ | partitions (hash, list, range) supported |
| TRIGGER | ✅ | |
| TYPE | ✅ | |
| USER | ❌ | |
| VIEW | ✅ | |
Detailed information about Oracle built-in data types may be found in the Oracle SQL Language Reference.
| Oracle | Description | PostgreSQL |
|---|
| BFILE | External LOB | BYTEA (⏳ Coming soon) |
| BINARY_DOUBLE | 64-bit floating-point number | DOUBLE PRECISION |
| BINARY_FLOAT | 32-bit floating-point number | REAL |
| BLOB | Binary large object, ⇐ 4G ⚠️ | BYTEA |
| CHAR(n), CHARACTER(n) | Fixed-length string, 1 ⇐ n ⇐ 2000 | CHAR(n), CHARACTER(n) |
| CLOB | Character large object, ⇐ 4G ⚠️ | TEXT |
| DATE | Date and time | TIMESTAMP(0) |
| DECIMAL(p,s), DEC(p,s) | Fixed-point number | DECIMAL(p,s), DEC(p,s) |
| DOUBLE PRECISION | Floating-point number | DOUBLE PRECISION |
| FLOAT(p) | 1 <= p < 24 | REAL |
| FLOAT(p) | 25 <= p < 53 | DOUBLE PRECISION |
| FLOAT(p) | 54 <= p <= 126 (p not provided) | NUMERIC |
| INTEGER, INT | 38 digits integer | DECIMAL(38) |
| INTERVAL DAY(p) TO SECOND(s) | Day and time interval | INTERVAL DAY TO SECOND(s) |
| INTERVAL YEAR(p) TO MONTH | Date interval | INTERVAL YEAR TO MONTH |
| LONG | Character data, ⇐ 2G ⚠️ | TEXT |
| LONG RAW | Binary data, ⇐ 2G | BYTEA |
| NCHAR VARYING(n) | Varying-length UTF-8 string, 1 ⇐ n ⇐ 4000 | VARCHAR(n) ⚠️ |
| NCHAR(n) | Fixed-length UTF-8 string, 1 ⇐ n ⇐ 2000 | CHAR(n) ⚠️ |
| NCLOB | Variable-length Unicode string, ⇐ 4G ⚠️ | TEXT |
| NUMBER(p,0), NUMBER(p) | 16-bit integer, 3 <= p < 5 | SMALLINT |
| NUMBER(p,0), NUMBER(p) | 32-bit integer, 5 <= p < 9 | INT |
| NUMBER(p,0), NUMBER(p) | 64-bit integer, 9 <= p < 19 | BIGINT |
| NUMBER(p,0), NUMBER(p) | 8-bit integer, 1 <= p < 3 | SMALLINT |
| NUMBER(p,0), NUMBER(p) | Fixed-point number, 19 <= p <= 38 | DECIMAL(p) |
| NUMBER(p,s) | Fixed-point number, s > 0 | DECIMAL(p,s) |
| NUMBER, NUMBER(*) | Floating-point number | DOUBLE PRECISION |
| NUMERIC(p,s) | Fixed-point number | NUMERIC(p,s) |
| NVARCHAR2(n) | Varying-length UTF-8 string, 1 ⇐ n ⇐ 4000 | VARCHAR(n) ⚠️ |
| RAW(n) | Variable-length binary string, 1 ⇐ n ⇐ 2000 | BYTEA |
| REAL | Floating-point number | DOUBLE PRECISION |
| ROWID | Physical row addresses | CHAR(10) (⏳ Not automated yet) |
| SMALLINT | 38 digits integer | DECIMAL(38) |
| TIMESTAMP(p) | Date and time with fraction | TIMESTAMP(p) |
| TIMESTAMP(p) WITH TIME ZONE | Date and time with fraction and time zone | TIMESTAMP(p) WITH TIME ZONE |
| UROWID(n) | Logical row addresses, 1 ⇐ n ⇐ 4000 | VARCHAR(n) (⏳ Not automated yet) |
| VARCHAR(n) | Variable-length string, 1 ⇐ n ⇐ 4000 | VARCHAR(n) |
| VARCHAR2(n) | Variable-length string, 1 ⇐ n ⇐ 4000 | VARCHAR(n) |
| XMLTYPE | XML data | XML |