AWS Security ChangesHomeSearch

AWS dms documentation change

Service: dms · 2026-07-01 · Documentation low

File: dms/latest/userguide/schema-conversion-oracle-postgresql.md

Summary

Restructured documentation with detailed settings configuration for Oracle to PostgreSQL conversions, including API/CLI parameters, type definitions, default values, and examples.

Security assessment

The changes focus on improving documentation clarity and configuration details for schema conversion settings. No security vulnerabilities, weaknesses, or incidents are mentioned. Settings relate to data type conversions, function emulations, and compatibility optimizations without security implications.

Diff

diff --git a/dms/latest/userguide/schema-conversion-oracle-postgresql.md b/dms/latest/userguide/schema-conversion-oracle-postgresql.md
index d4572b937..87293fa1a 100644
--- a//dms/latest/userguide/schema-conversion-oracle-postgresql.md
+++ b//dms/latest/userguide/schema-conversion-oracle-postgresql.md
@@ -7 +7 @@
-# Understanding Oracle to PostgreSQL conversion settings
+Example: configure Oracle to PostgreSQL settings
@@ -9 +9 @@
-Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the following:
+# Oracle to PostgreSQL conversion settings
@@ -11 +11 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-  * To convert applicable database objects using generative AI, enable the **Generative AI** setting. Objects successfully converted using generative AI will be clearly identified with **Action Item 5444** , which states: "This conversion uses machine learning models that generate predictions based on patterns in data. For more information, see [Converting database objects with generative AI](./schema-conversion-convert.databaseobjects.html).
+The following settings apply when the source is Oracle and the target is Amazon RDS for PostgreSQL or Amazon Aurora PostgreSQL. You can configure these settings using the AWS Management Console or the [ModifyConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyConversionConfiguration.html) API operation.
@@ -13 +13 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-    * You can convert schemas for different supported versions of your target database, not just the latest version. To specify a version, use the **Target engine version** setting. Available conversion options will vary depending on the engine version you select. Currently, PostgreSQL versions 14 and 15 are supported (they have identical settings). Note that using a target engine version during schema conversion that differs from the version specified in this setting may lead to compatibility issues and errors when performing the Apply to the target operation.
+This topic covers settings specific to the Oracle to PostgreSQL conversion path. In addition to these settings, DMS Schema Conversion provides settings that apply to all source and target pairs, such as the severity level for action-item comments in converted SQL and the option to use generative AI for conversion. For those settings, see [Common conversion settings](./schema-conversion-settings.html#schema-conversion-settings-common).
@@ -15 +15 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-  * AWS DMS can convert Oracle materialized views to tables or materialized views on PostgreSQL. For **Materialized views** , choose how to convert your source materialized views.
+When you use the API or AWS CLI, specify conversion path settings under the section names `ORACLE_TO_POSTGRESQL`, `ORACLE_TO_POSTGRESQL_14`, or `ORACLE_TO_POSTGRESQL_15`. All three versioned sections accept the same keys. To find which section names your project uses, call [DescribeConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeConversionConfiguration.html) first and update only the sections present in the response.
@@ -17 +17 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-  * Your source Oracle database can use the `ROWID` pseudocolumn. PostgreSQL doesn't support similar functionality. DMS Schema Conversion can emulate the `ROWID` pseudocolumn in the converted code using the `bigint` or `character varying` data type. To do so, choose **Use the bigint data type to emulate the ROWID pseudocolumn** or **Use the character varying data type to emulate the ROWID pseudocolumn** for **Row ID**.
+Each setting shows the AWS Management Console label followed by the API and AWS CLI parameter name in parentheses. Use the parameter name when configuring settings with the API or AWS CLI. The settings are listed in the same order that they appear in the AWS Management Console.
@@ -19 +19 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-    * To convert NUMBER data type to the best fitting numeric data type, depending on the precision and scale you can select Use the optimized data type mapping for columns of the NUMBER data type.
+**Target engine version** (`ORACLE_TO_POSTGRESQL_target_engine_version`)
@@ -21 +20,0 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-  * If your source Oracle code doesn't use the `ROWID` pseudocolumn, choose **Don't generate**. In this case, the converted code works faster.
@@ -23 +22 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-  * Your source Oracle code can include the `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions with parameters that PostgreSQL doesn't support. By default, DMS Schema Conversion emulates the usage of these parameters in the converted code.
+Choose the engine version for your target database. This setting is the PostgreSQL major version feature set that DMS Schema Conversion targets for conversion, and it determines which versioned settings section DMS Schema Conversion applies (`ORACLE_TO_POSTGRESQL_14` or `ORACLE_TO_POSTGRESQL_15`). The value `15` targets the features of PostgreSQL 15 and later versions, and `14` targets the features of PostgreSQL 14, so your target database can run a later version than the value you choose (for example, a value of `15` for a PostgreSQL 16 target). Unlike the other settings on this page, this setting isn't stored in a conversion path section. Instead, it's stored in the top-level `Conversion version` section, as shown in the following example.
@@ -25 +23,0 @@ Oracle to PostgreSQL conversion settings in DMS Schema Conversion include the fo
-You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions when your source Oracle code lacks parameters that are unsupported by PostgreSQL. In this case, the converted code works faster. To do so, select the following values:
@@ -27 +25,5 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-    * **Use a native PostgreSQL TO_CHAR function**
+    {
+      "Conversion version": {
+        "ORACLE_TO_POSTGRESQL_target_engine_version": "15"
+      }
+    }
@@ -29 +31 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-    * **Use a native PostgreSQL TO_DATE function**
+**Type:** String (`14` | `15`)
@@ -31 +33 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-    * **Use a native PostgreSQL TO_NUMBER function**
+**Default:** `15`
@@ -33 +35 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * Your database and applications can run in different time zones. By default, DMS Schema Conversion emulates time zones in the converted code. However, you don't need this emulation when your database and applications use the same time zone. In this case, select **Improve the performance of the converted code where the database and applications use the same time zone**.
+**Materialized views** (`MaterializedViewConvert`)
@@ -35 +36,0 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * To continue using sequences in your converted code, select **Populate converted sequences with the last value generated on the source side**.
@@ -37 +38 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * In some cases, your source Oracle database might store only integer values in the primary or foreign key columns of the `NUMBER` data type. In these cases, AWS DMS can convert these columns to the `BIGINT` data type. This approach improves the performance of your converted code. To do so, select **Convert primary and foreign key columns of the NUMBER data type to the BIGINT data type**. Make sure that your source doesn't include floating point values in these columns to avoid data loss.
+Specifies how DMS Schema Conversion converts Oracle materialized views on the target.
@@ -39 +40,4 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * To skip deactivated triggers and constraints in your source code, choose **Convert only active triggers and constraints**.
+API/CLI value | Result on target  
+---|---  
+`TABLE` | DMS Schema Conversion creates a regular table with the same columns. Use this when you manage refresh manually or with a replication tool.  
+`MATERIALIZED_VIEW` | DMS Schema Conversion creates a PostgreSQL `MATERIALIZED VIEW`. Use this when the target supports `REFRESH MATERIALIZED VIEW`.  
@@ -41 +45 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * You can use DMS Schema Conversion to convert string variables that are called as dynamic SQL. Your database code can change the values of these string variables. To make sure that AWS DMS always converts the latest value of this string variable, select **Convert the dynamic SQL code that is created in called routines**.
+**Type:** String (`TABLE` | `MATERIALIZED_VIEW`)
@@ -43 +47 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * PostgreSQL versions 10 and earlier don't support procedures. If you aren't familiar with using procedures in PostgreSQL, AWS DMS can convert Oracle procedures to PostgreSQL functions. To do so, select **Convert procedures to functions**.
+**Default:** `TABLE`
@@ -45 +49 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * To see additional information about the occurred action items, you can add specific functions to the extension pack. To do so, select **Add extension pack functions that raise user-defined exceptions**. Then choose severity levels to raise user-defined exceptions. Make sure that you apply the extension pack schema after you convert your source database objects. For more information about extension packs, see [Using extension packs](./extension-pack.html). 
+**Generate row id** (`GenerateRowId`)
@@ -47 +50,0 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * Your source Oracle database can include constraints with the automatically generated names. If your source code uses these names, make sure that you select **Keep the names of system generated constraints**. If your source code uses these constraints, but doesn't use their names, clear this option to increase the conversion speed.
@@ -49 +52 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * If your source and target databases run in different time zones, the function that emulates the `SYSDATE` built-in Oracle function returns different values compared to the source function. To make sure that your source and target functions return the same values, choose **Set the time zone of your source database**.
+Your source Oracle database can use the `ROWID` pseudocolumn. PostgreSQL doesn't support similar functionality. This setting specifies whether DMS Schema Conversion emulates the `ROWID` pseudocolumn in the converted code, and which data type DMS Schema Conversion uses for emulation.
@@ -51 +54,5 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
-  * You can use the functions from the orafce extension in your converted code. To do so, for **Orafce built-in routines** , select the functions to use. For more information about orafce, see [orafce](https://github.com/orafce/orafce) on GitHub.
+Console label | API/CLI value | Behavior  
+---|---|---  
+**Don't generate** | `false` | DMS Schema Conversion doesn't emulate the `ROWID` pseudocolumn and leaves references as action items. Use this when your source Oracle code doesn't use `ROWID`. The converted code runs faster.  
+**Use the bigint data type to emulate the ROWID pseudocolumn** | `true` | DMS Schema Conversion emulates the `ROWID` pseudocolumn in the converted code by using the `bigint` data type.  
+**Use the character varying data type to emulate the ROWID pseudocolumn** | `GENERATE_AS_CHARACTER_DOMAIN_TYPE` | DMS Schema Conversion emulates the `ROWID` pseudocolumn in the converted code by using the `character varying` data type.  
@@ -52,0 +60 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
+**Type:** String (enum)
@@ -53,0 +62 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
+**Default:** `false`
@@ -54,0 +64,328 @@ You can use native PostgreSQL `TO_CHAR`, `TO_DATE`, and `TO_NUMBER` functions wh
+###### Code
+
+Select the conversion settings that are specific to your source Oracle code.
+
+**Use the optimized data type mapping for columns of the NUMBER data type** (`UseOptimizedMappingForNumberConversion`)
+    
+
+Specifies whether DMS Schema Conversion maps each Oracle `NUMBER` column to the best fitting numeric data type based on the precision and scale.
+
+  * `true` — DMS Schema Conversion maps each `NUMBER` column to the most specific PostgreSQL numeric type (for example, `SMALLINT`, `INTEGER`, or `BIGINT`) based on its precision and scale.
+
+  * `false` — DMS Schema Conversion maps all `NUMBER` columns to `NUMERIC`.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `true`
+
+**Use a native PostgreSQL TO_CHAR function** (`ToCharFunctionOracle`)
+    
+
+Specifies whether DMS Schema Conversion emulates the Oracle `TO_CHAR` function in the converted code.
+
+  * `false` — DMS Schema Conversion emulates the Oracle `TO_CHAR` behavior in the converted code.
+
+  * `true` — DMS Schema Conversion converts `TO_CHAR` and `TO_NCHAR` calls to the native PostgreSQL `TO_CHAR` function. Select this to avoid emulation when your format strings are compatible with PostgreSQL.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`
+
+**Use a native PostgreSQL TO_DATE function** (`ToDateFunctionOracle`)
+    
+
+Specifies whether DMS Schema Conversion emulates the Oracle `TO_DATE` function in the converted code.
+
+  * `false` — DMS Schema Conversion emulates the Oracle `TO_DATE` behavior in the converted code.
+
+  * `true` — DMS Schema Conversion converts `TO_DATE` calls to the native PostgreSQL `TO_DATE` function.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`
+
+**Use a native PostgreSQL TO_NUMBER function** (`ToNumber`)
+    
+
+Specifies whether DMS Schema Conversion emulates the Oracle `TO_NUMBER` function in the converted code.
+
+  * `false` — DMS Schema Conversion emulates the Oracle `TO_NUMBER` behavior in the converted code.
+
+  * `true` — DMS Schema Conversion converts `TO_NUMBER` calls to the native PostgreSQL `TO_NUMBER` function.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`
+
+**Improve the performance of the converted code where the database and applications use the same time zone** (`ToTimeZone`)
+    
+
+Specifies whether DMS Schema Conversion emulates time zones in the converted code.
+
+  * `true` — DMS Schema Conversion doesn't emulate time zones. Use this when your database and applications use the same time zone. The converted code runs faster.
+
+  * `false` — DMS Schema Conversion emulates time zones in the converted code.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`
+
+**Populate converted sequences with the last value generated on the source side** (`AlertSequenceRestart`)
+    
+
+Specifies whether DMS Schema Conversion continues converted sequences from the last value generated on the source.
+
+  * `true` — DMS Schema Conversion sets each converted sequence to start from the last value generated on the source, so sequences continue without conflicts.
+
+  * `false` — DMS Schema Conversion starts converted sequences from their default initial value.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`
+
+**Convert primary and foreign key columns of the NUMBER data type to the BIGINT data type** (`ConvertNumberToBigint`)
+    
+
+Specifies whether DMS Schema Conversion converts primary key and foreign key columns of the `NUMBER` data type to `BIGINT`. Use with caution to avoid data loss if your source database stores floating-point numbers in these columns.
+
+  * `true` — DMS Schema Conversion maps primary key and foreign key `NUMBER` columns to `BIGINT`.
+
+  * `false` — DMS Schema Conversion uses the standard numeric mapping for these columns.
+
+
+
+
+**Type:** Boolean (`true` | `false`)
+
+**Default:** `false`