Pega supports the manual addition of columns to expose additional properties in your database schema for optimized reporting and search performance.
To manually add new columns to your database, you should be a database administrator familiar with SQL, DDL, and database schemas using a SQL client and have appropriate access to your organization's database account and password, so that you have permissions to restructure your database (SQL ALTER TABLE grant).
Before you manually add a column to a table in your application schema, consider the following:
- Final, tested table structure changes in a development or test system must also be made to the corresponding table in a production system.
- Exposing additional columns can affect the performance and tablespace requirements of the database, but has no functional effect on activities, the property, or other rules referencing the property.
- If, in the Storage Stream (BLOB) column, the selected property or properties have non-blank values for at least some rows, you must extract (copy) the existing values into the new column by using the Column Populator utility. Column populator operations might require minutes or hours to complete. Perform column populator processing when rows of the affected table are not locked by other Pega Platform users (so that no add, delete, or update operations occur during this process).
- In a multinode cluster, new database columns will visible on all of the nodes in the cluster after you save the changes to the Data-Admin-DB-Name (for example, PegaDATA) or the specific Data-Admin-DB-Table that maps the Class Definition to the database table that you manually modified. While you can make the new column visible on all nodes by restarting the entire system, saving the changes in these rules is a recommended method as it does not impact your application availability.