Skip to main content
This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.
LinkedIn
Copied!

Troubleshooting: Cross-platform portability considerations

If your application is 100% guardrail compliant, you can successfully port your application from one database platform to another without any additional action. You can skip the rest of the information in this article.

However, if you made changes to your application or database outside of Designer Studio, or if you use REST, HTTP, or SOAP integration, you might need to reconfigure some aspects of your application before you port to a new database. For example, if you used the database vendor tools to create or modify the database, some constructs that are specific to a particular database platform (for example, Oracle) might not automatically translate into a similar construct on another platform (for example, Microsoft SQL Server). If your application includes a database-specific construct or does not meet the recommendations in this article, you might not be able to automatically deploy your application to other database platforms.

Supported property-to-database type mappings

Use the information in the following table to determine the portable format for common database types.

Pega 7 Platform
property type
IBM DB2 for Linux,
UNIX, and Windows
and
IBM DB2 for z/OS
Microsoft SQL Server Oracle PostgreSQL
Date VARCHAR(8)
bytes
VARCHAR(8)
characters
VARCHAR2(8)
characters
VARCHAR(8)
characters
DateTime TIMESTAMP DATETIME TIMESTAMP TIMESTAMP
Decimal DECIMAL DECIMAL DECIMAL DECIMAL
Double DECIMAL DECIMAL DECIMAL DECIMAL
Identifier VARCHAR(n)
bytes
VARCHAR(n)
characters
VARCHAR2(n)
characters
VARCHAR(n)
characters
Integer DECIMAL DECIMAL DECIMAL DECIMAL
Password VARCHAR(70)
bytes
VARCHAR(70)
characters
VARCHAR2(70)
characters
VARCHAR(70)
characters
Text VARCHAR
bytes
VARCHAR
characters
VARCHAR2
characters
VARCHAR
characters
TextEncrypted VARCHAR
bytes
VARCHAR
characters
VARCHAR2
characters
VARCHAR
characters
TimeOfDay VARCHAR(6)
bytes
VARCHAR(6)
characters
VARCHAR2(6)
characters
VARCHAR(6)
characters
TrueFalse VARCHAR(5)
bytes
VARCHAR(5)
characters
VARCHAR2(5)
characters
VARCHAR(5)
characters

Variable-length types

When using variable-length types, follow the recommendations in the following table. These value ranges are for all supported databases and ensure that you can port the data to other databases.

Decimal Integer VARCHAR/VARCHAR2 or
NVARCHAR/NVARCHAR2

precision: 0-31

scale: 0-precision

precision: 0-31

scale: ==0

up to 4000 bytes (UTF-8 or UTF-16)

or

up to 4000 characters (ASCII)

  • Decimals: Decimal columns created or modified to have precision or scale outside the listed range are not portable by using the Pega 7 Platform tools. For example, Microsoft SQL Server supports a precision of up to 38 (38 total digits), but IBM DB2 for Linux, UNIX, and Windows supports only 31. Attempting to migrate data from this Microsoft SQL Server column to IBM DB2 for Linux, UNIX, and Windows would result in the loss of data and might fail.
  • Integers: As a best practice, use the decimal type with a scale of 0 in place of integer types.
  • VARCHAR: IBM DB2 databases interpret VARCHAR(n) as n bytes; other databases interpret it as n characters. Some platforms allow you to specify the type of interpretation. For example, on Oracle databases you can specify VARCHAR(n byte) or VARCHAR(n char). This distinction is particularly important when dealing with Unicode data. Although ASCII uses one byte per character, UTF-8 uses up to 3 bytes per character, and UTF-16 uses 2 bytes per character.

Views

ANSI SQL views are fully supported. Materialized views are database-specific and therefore not portable.

Index limitations

The maximum index size across all vendors is 900 bytes, which means that the sum of the maximum lengths of all columns in the index must be 900 bytes or less.

Functional indexes are not portable.

Integration resource limitations

REST, HTTP, and SOAP are currently supported on Pega Cloud, but might require additional configuration if you port your application to a new database. For more information about integrating with Pega Cloud, see Integration in your Pega Cloud environment.

Any integration functionality not listed in this article or in Integration in your Pega Cloud environment might cause portability problems.

Did you find this content helpful?

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us