Oracle -> RDS for PostgreSQL 11.5
Parameter |
Feature Name |
Description |
Affected Object |
Parameter Value |
Value Description |
Remarks |
---|---|---|---|---|---|---|
longraw_support |
LONG RAW data type |
It is applicable if tables contain one or more LONG RAW columns. In Oracle, the maximum size of LONG RAW data type is 2 GB. In RDS for PostgreSQL 11.5, the size of BYTEA data type is variable. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert LONG RAW type. (Default value) |
RDS for PostgreSQL 11.5 does not support LONG RAW and it is not converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. |
BYTEA |
Convert LONG RAW to BYTEA. |
Oracle LONG RAW supports up to 2 GB data; but the maximum size of BYTEA data type may vary in RDS for PostgreSQL 11.5. There is no equivalent for LONG RAW in RDS for PostgreSQL 11.5. If the table column data is beyond the limit, the data change operations (INSERT/UPDATE) fail and an error is thrown. |
||||
long_datatype_show_error |
LONG data type |
It is applicable if the database objects contain one or more LONG columns. In Oracle, the maximum size of LONG data type is 2 GB. In RDS for PostgreSQL 11.5, the maximum size of LONG data type is 1 GB. |
Table, function, stored procedure, trigger, and user-defined type |
TRUE |
Do not convert LONG data type. LONG data type will remain as it is, and you will receive an error message. (Default value) |
If Oracle supports 2 GB data for LONG data type. RDS for PostgreSQL 11.5 supports LONG data type, but internally converts it to the TEXT data type. If the data in a table column exceeds 1 GB, data change operations (INSERT/UPDATE) will fail and an error will be thrown. |
FALSE |
Do not convert LONG data type. LONG data type will remain as it is, and you will not receive an error message. |
If the data in a table column exceeds 1 GB, an error is thrown. |
||||
float_support |
FLOAT data type |
It is applicable if tables contain one or more FLOAT columns and FLOAT is specified as FLOAT/FLOAT(n), where n > 53. If n is not provided, the default value 126 is used. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert FLOAT data type. (Default value) |
RDS for PostgreSQL 11.5 supports the FLOAT data type. In Oracle, the default precision (maximum precision) of FLOAT is 126. In RDS for PostgreSQL 11.5, if the FLOAT precision is greater than 53, an error will occur and the statement execution will fail. |
NUMBER |
Convert FLOAT/FLOAT(n) to NUMBER. |
In RDS for PostgreSQL 11.5, if no precision is specified for NUMBER data type, the maximum number of digits before the decimal point is 131072, and the maximum number of digits after the decimal point is 16383. RDS for PostgreSQL 11.5 internally converts NUMBER to NUMERIC. The stored values are more accurate. |
||||
DOUBLE PRECISION |
Convert FLOAT/FLOAT(n) data type to DOUBLE PRECISION. |
RDS for PostgreSQL 11.5 supports DOUBLE PRECISION, but internally converts it to FLOAT8. FLOAT8 is a 4-byte floating point number. |
||||
number_with_zero_scale |
NUMBER data type with zero scale |
It is applicable if tables contain NUMBER with zero scale or NUMBER without scale. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert NUMBER. RDS for PostgreSQL 11.5 supports NUMBER, but it is internally converted to NUMERIC. (Default value) |
Do not convert NUMBER. RDS for PostgreSQL 11.5 supports NUMBER. The migration precision is exact. |
INT |
If the precision of NUMBER is between 1 and 4, it is converted to SMALLINT type. If the precision of NUMBER is between 5 and 9, it is converted to INT type. If the precision of NUMBER is between 10 and 18, it is converted to BIGINT type. |
If the input script is whole numbers, INTEGER is a better option to improve performance, but its migration precision is not exact. |
||||
SDO_GEOMETRY |
SDO_GEOMETRY object type |
It is applicable if tables contain SDO_GEOMETRY object type. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert SDO_GEOMETRY object type. (Default value) |
RDS for PostgreSQL 11.5 does not support SDO_GEOMETRY and it is not converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
TEXT |
Convert SDO_GEOMETRY object type to TEXT. |
There is no equivalent for SDO_GEOMETRY in RDS for PostgreSQL 11.5. The DML statements should be corrected to store the TEXT data and to fetch the data into different object attributes. |
||||
MBRCOORDLIST |
MDSYS.MBRCOORDLIST object type |
It is applicable if table scripts contain MDSYS.MBRCOORDLIST object type. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert MBRCOORDLIST object type. (Default value) |
RDS for PostgreSQL 11.5 does not support MBRCOORDLIST and it is not converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
TEXT |
Convert MBRCOORDLIST to TEXT. |
There is no equivalent for MBRCOORDLIST in RDS for PostgreSQL 11.5. The DML statements should be corrected to store the TEXT data and to fetch the data into different object attributes. |
||||
GEOMETRY |
GEOMETRY object type |
It is applicable if the table script contains GEOMETRY object type. |
Table, function, stored procedure, trigger, and user-defined type |
IGNORE |
Do not convert GEOMETRY object type. (Default value) |
RDS for PostgreSQL 11.5 does not support GEOMETRY and it is not converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
TEXT |
Convert GEOMETRY to TEXT. |
There is no equivalent for GEOMETRY in RDS for PostgreSQL 11.5. The DML statements should be corrected to store the TEXT data and to fetch the data into different object attributes. |
||||
partition_columns_with_unique_constraint |
Unique constraints for table column partition |
It is applicable if table scripts contain the partition syntax and primary keys or unique keys. |
Table, index |
0 |
Ignore the migration. (Default value) |
This configuration ignores the migration. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
1 |
Comment the partition syntax. |
Partitions can provide many benefits to applications by improving performance, manageability, and availability. After the partition syntax is commented, tables will become normal tables (not partitioned tables) and you will miss out the partition benefits specified above. |
||||
2 |
Comment unique constraints (primary keys and unique keys). |
Unique constraints help:
After the unique constraints (primary keys and unique keys) are commented, you will miss out the benefits specified above. |
||||
3 |
Add partition keys to the unique constraints (primary keys and unique keys). |
After partition columns are added to the unique constraints (primary keys and unique keys), duplicate records may be created in the table. |
||||
mig_interval_partition |
Interval partition in tables |
It is applicable if table scripts contain interval partition syntax. |
Table |
IGNORE |
Do not convert the INTERVAL partition syntax. (Default value) |
RDS for PostgreSQL 11.5 does not support the INTERVAL partition syntax. It will not be converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
COMMENT |
Comment the INTERVAL partition syntax. |
After the INTERVAL partition syntax is commented, you will miss out the partition benefits in performance, manageability and availability. |
||||
on_null_support |
DEFAULT ON NULL clause |
It is applicable if the input table scripts contain DEFAULT ON NULL keyword. A DEFAULT ON NULL clause will configure DEFAULT for a column even when a null value has been explicitly included in the INSERT statement. |
Table |
IGNORE |
Do not convert the DEFAULT ON NULL keyword. (Default value) |
RDS for PostgreSQL 11.5 does not support the DEFAULT ON NULL clause. It will not be converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
COMMENT |
Comment the ON NULL keyword. |
RDS for PostgreSQL 11.5 does not support the DEFAULT ON NULL clause. It will be commented. If NULL is provided explicitly, the DML statements should be changed to store appropriate values. |
||||
generated_identity_support |
IDENTITY columns |
It is applicable if input table scripts contain IDENTITY columns using GENERATED AS IDENTITY. |
Table, sequence |
IGNORE |
Do not convert IDENTITY columns. (Default value) |
RDS for PostgreSQL 11.5 does not support the GNERATED AS IDENTITY syntax. It will not be converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
SERIAL |
Convert IDENTITY columns to SERIAL columns. |
SERIAL data type is four-byte auto-incrementing integer. Its range is 1 to 2,147,483,647. If the upper limit or lower limit is exceeded, an error will be reported and DML statements fail to be executed. |
||||
SMALL SERIAL |
Convert IDENTITY columns to small SERIAL columns. |
Small SERIAL data type is two-byte auto-incrementing integer. Its range is 1 to 32,767. If the upper limit or lower limit is exceeded, an error will be reported and DML statements fail to be executed. |
||||
BIG SERIAL |
Convert IDENTITY columns to big SERIAL columns. |
Big SERIAL data type is eight-byte auto-incrementing integer. Its range is 1 to 9,223,372,036,854,775,807. If the upper limit or lower limit is exceeded, an error will be reported and DML statements fail to be executed. |
||||
DEFAULT_SEQ |
Create a sequence and use it as the default value. |
The maximum and minimum values are 263-1 and -263-1. If the upper limit or lower limit is exceeded, an error will be reported and DML statements fail to be executed. |
||||
read_only_table |
Read-only keyword in tables |
It is applicable if the input table scripts contain read only keyword. In Oracle, tables are marked as read only using the ALTER TABLE command. When a table is in read-only mode, operations that attempt to modify table data are not allowed. |
Table |
IGNORE |
Do not convert the READ ONLY keyword |
RDS for PostgreSQL 11.5 does not support the READ ONLY keyword. It will not be converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
COMMENT |
Comment the READ ONLY keyword in ALTER TABLE statements. (Default value) |
RDS for PostgreSQL 11.5 does not support the READ ONLY keyword. It will be commented. The keyword is generally not used in application scripts, but is used in database maintenance. It can be handled by creating a trigger. |
||||
TRIGGER |
Create a trigger to support the READ ONLY mode. |
A trigger will be created to support the READ ONLY mode. |
||||
bitmap_index |
BITMAP index |
It is applicable if CREATE INDEX statements contains BITMAP keyword. |
Index |
0 |
No conversion will be happened. BITMAP keyword will be retained as it is. (Default value) |
RDS for PostgreSQL 11.5 does not support BITMAP indexes. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
1 |
Comment BITMAP indexes. |
RDS for PostgreSQL 11.5 does not support BITMAP indexes. The indexes will be commented. When indexed columns are used in search criteria, performance problems may occur. Therefore, you should create proper indexes. |
||||
2 |
Create BTREE indexes instead of BITMAP indexes. |
BITMAP indexes are typically used for columns with a large number of duplicate values (low cardinality), while BTREE indexes are suitable for high cardinality columns. There is no exact equivalent for BITMAP indexes in RDS for PostgreSQL 11.5. You can create BTREE indexes. |
||||
3 |
Create HASH indexes instead of BITMAP indexes. |
There is no exact equivalent for BITMAP indexes in RDS for PostgreSQL 11.5. The HASH index can be considered if an indexed column is used only when = operator is used for comparison. |
||||
reverse_support |
REVERSE keyword in CREATE INDEX statements |
It is applicable if CREATE INDEX statements contain REVERSE keyword. |
Index |
IGNORE |
Do not convert the REVERSE keyword. (Default value) |
RDS for PostgreSQL 11.5 does not support REVERSE indexes. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
COMMENT |
Comment the REVERSE keyword. |
RDS for PostgreSQL 11.5 does not support REVERSE indexes. The REVERSE keyword will be commented. The REVERSE indexes will be converted to common indexes supported by RDS for PostgreSQL 11.5. There is no exact equivalent for REVERSE indexes in RDS for PostgreSQL 11.5. You can use B-tree indexes. |
||||
viewEditioning |
EDITIONING views |
It is applicable if the input view scripts contain EDITIONING keyword. In Oracle, it is allowed to create DML triggers on EDITIONING views. |
View |
0 |
Do not convert the EDITIONING keyword. (Default value) |
RDS for PostgreSQL 11.5 does not support the EDITIONING keyword. It will not be converted. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. If a DML trigger is created in views, the trigger should be rewritten in the base table without affecting the business logic. |
1 |
Comment EDITIONING keyword in view statements |
RDS for PostgreSQL 11.5 does not support the EDITIONING keyword. It will be commented. If a DML trigger is created in views, the trigger should be rewritten in the base table without affecting the business logic. |
||||
seq_max_min_value |
Sequence value beyond the limit |
It is applicable if the sequence scripts contain MAXVALUE and MINVALUE. |
Sequence, table |
0 |
Do not change the value of MINVALUE or MAXVALUE even if its value exceeds the lower or upper limit (9223372036854775808 or 9223372036854775807). (Default value) |
Oracle supports MAXVALUE and MINVALUE up to 1027 and -1026 respectively. If the input MINVALUE/MAXVALUE of a sequence goes beyond the limit (-9223372036854775808 or 9223372036854775807), compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
1 |
If the input MINVALUE/MAXVALUE of a sequence goes beyond the limit (-9223372036854775808 or 9223372036854775807), use the boundary value. |
If the input MINVALUE/MAXVALUE of a sequence goes beyond the limit (-9223372036854775808 or 9223372036854775807), the boundary value is used. The generated sequence value does not exceed the upper and lower limits of RDS for PostgreSQL 11.5. |
||||
otherthan_gregorian |
Calendar types other than GREGORIAN |
It is applicable if the input TO_DATE function contains calendar type other than GREGORIAN. |
Table |
0 |
If the third parameter is specified in TO_DATE and TO_TIMESTAMP, do not comment GREGORIAN calendar. (Default value) |
RDS for PostgreSQL 11.5 supports only GREGORIAN calendar and it supports only TO_DATE and TO_TIMESTAMP. If other than GREGORIAN calendar is specified as a third parameter in Oracle TO_DATE function, GREGORIAN calendar will not be commented, but compiling the migrated scripts on RDS for PostgreSQL 11.5 will fail. You should manually correct it. |
1 |
If the third parameter is specified in TO_DATE and TO_TIMESTAMP, comment GREGORIAN calendar. |
If other than GREGORIAN calendar is specified as a third parameter in Oracle TO_DATE function, GREGORIAN calendar will be commented. Compiling the migrated scripts on RDS for PostgreSQL 11.5 will success. |
||||
object_name_combiner |
object_name_combiner parameter |
It is applicable if the CREATE INDEX scripts contain schema names or the CREATE TABLE scripts contain partition syntax. |
Function, stored procedure, and trigger |
$ |
Merge: - Schema names and index names in CREATED INDEX statements - Table names and partition names in CREATE PARTITIONED TABLE statements |
Sample delimiters are: $#_ The name contains up to 4 characters. All special characters are not allowed. |
default_schema |
Setting default schema names |
It is applicable if schema names are not provided in creating database objects. |
schema |
- |
The default schema name is used for a database object whose schema name is not specified. |
The default schema name is used. The schema name cannot be empty. |
varray_size |
PL/SQL tables |
It is applicable if PL/SQL tables are used in stored procedures, functions and packages. |
Package, function, and stored procedure |
1024 |
Change the size of VARRAY as required. |
RDS for PostgreSQL 11.5 does not support table type. Therefore, PL/SQL tables will be converted to VARRAY tables. There will be no performance impact. |
package_name_delimiter |
Setting package name delimiters |
It is applicable if the input scripts contain CREATE PACKAGE statements. |
Function, trigger, and stored procedure |
$ |
Set a delimiter to form the name of a sub-object of a package during the Oracle package migration. |
Delimiters are used for package conversion. For example, if the dollar sign ($) is used as a delimiter, the name of the specified stored procedure or function in a package will be converted to packageName$procedureName or packageName$functionName. Sample delimiters are: $#_ A delimiter string can contain a maximum of four characters. DOT(.) and any other special characters cannot be used as the delimiters. |
comment_commit |
COMMIT/ROLLBACK keyword |
It is applicable if procedures or functions contain the COMMIT/ROLLBACK statements. |
Stored procedure |
FALSE |
Do not convert COMMIT/ROLLBACK statements. (Default value) |
RDS for PostgreSQL 11.5 does not support COMMIT and ROLLBACK in stored procedures/functions. The stored procedures/functions will fail to be executed. You should manually correct the error. |
TRUE |
Comment the COMMIT/ROLLBACK statements. |
RDS for PostgreSQL 11.5 does not support COMMIT and ROLLBACK in stored procedures/functions. COMMIT and ROLLBACK statements will be commented. You need to correct the PL/SQL code to ensure that the service logic, especially the rollback logic, is not affected. |
||||
comment_tablespace |
Tablespace |
It is applicable if CREATE TABLE and CREATE INDEX statements contain TABLESPACE clauses. |
Tablespace, table |
FALSE |
Do not convert TABLESPACE clauses. (Default value) |
RDS for PostgreSQL 11.5 supports the tablespace clauses in CREATE TABLE and CREATE INDEX statements. However, if the specified tablespace does not exist in RDS for PostgreSQL 11.5, the CREATE TABLE and CREATE INDEX statements will fail to be executed. Before compiling the migration scripts on RDS for PostgreSQL 11.5, you need to create the required tablespace. |
TRUE |
Comment TABLESPACE clauses. |
The TABLESPACE clauses are commented. The default tablespace is used when a table or index is created. |
||||
pkg_naming |
Packages |
It is applicable for packages. Based on parameter configuration, you can use packages as schemas or merge package names along with procedure and function names. |
Package |
pkg_as_schema |
Convert packages to schemas. |
RDS for PostgreSQL 11.5 does not support packages. Package stored procedures and functions are converted into independent stored procedures and functions. These objects will be created in schemas with the same name as packages. They are not the part of packages, performance may be affected. |
merge_pkg_plnames |
Merge the package names with package procedure names. (Default value) |
RDS for PostgreSQL 11.5 does not support packages. Package stored procedures and functions are converted into independent stored procedures. The package names are merged with package procedure names. Independent stored procedures are not part of packages, performance may be affected. |
||||
global_temp_table_support |
Global temporary tables |
It is applicable if the input table scripts contain GLOBAL TEMPORARY keyword. A global temporary table is a permanent database object. Its table structure will be retained in the database even after the session is disconnected. A local temporary table is scoped to the session in which you created it. Its table is deleted once the session disconnects. RDS for PostgreSQL 11.5 supports only local temporary tables. |
Table |
0 |
Do not convert the GLOBAL keyword. (Default value) |
A local temporary table will be created by RDS for PostgreSQL 11.5 regardless of whether a global or local table is specified. If no temporary table exists, create it manually. |
1 |
Create a local temporary table. |
A global temporary table will be converted to a local temporary table. If no temporary table exists, create it manually. |
||||
grant_support |
GRANT |
Object privileges |
Table, view, index, stored procedure, and function |
ignore |
Do not convert GRANT statements. The scripts will be retained unchanged. (Default value) |
In RDS for PostgreSQL 11.5, object privileges are granted separately. This configuration will ignore the migration and scripts will be retained unchanged. |
comment |
Comment the entire GRANT statements. |
In RDS for PostgreSQL 11.5, object privileges are granted separately. This configuration will comment the entire GRANT statements. |
||||
sqlplus_unsupported_command |
SQL PLUS |
RDS for PostgreSQL 11.5 does not fully support the SQL PLUS command. This configuration will handle such type of requirements. |
SQL PLUS commands |
IGNORE |
Ignore the migration. The script will be retained as it is. |
RDS for PostgreSQL 11.5 does not support the SQL PLUS command. This configuration will ignore the script. |
COMMENT |
Comment the SQL PLUS commands. (Default value) |
RDS for PostgreSQL 11.5 does not support the SQL PLUS command. This configuration will comment the script. |
||||
ERROR |
Raise an error. |
RDS for PostgreSQL 11.5 does not support the SQL PLUS command. This configuration will raise an error. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot