Skip to main content

Four Common Pega Database Tables You Should Know

A common question pops up each time I discuss databases with developers: “What are the different out-of-the-box database tables that Pega provides, and what is the significance of each one?”

It’s an important question, especially when you need to think of designing your data modelling. There are a few important out-of-the-box tables to consider, and they each have their own significance. 

Generally, the Pega Platform database holds the rules, data instances, work items, history, and other concrete objects from the internal classes of Pega Platform.

There are four categories that carry significant value.  

 

1. Assignment tables

Three items mainly fall under the Assignment tables category.

  • pc_assign_workbasket: This table holds assignments in work queues and instances of the Assign-Workbasket class.
  • pc_assign_worklist: This table holds assignments on worklists (Assign-Worklist class).
  • pr_assign: This table holds external assignments (Assign-External class), which use the directed web access feature and assignments of all other types. Assignments in the Assign-Corr and Assign-Service classes are also stored as rows in the pr_assign table.

 

2. Data Object Tables

Seven key tables fall under this category.

  • pr_operators: This table contains rows that correspond to instances of the Data-Admin-Operator-ID class.
  • pi_data_connect: This table is associated with the Data-Admin-Connect- class. Instances of the classes derived from this class support service listeners and related interface data.
  • pr_data_admin: This table holds instances of classes derived from the Data-Admin- class, excluding those who are explicitly mapped to other tables.
  • pc_data_uniqueid: This table corresponds to the Data-UniqueID class. It contains a single row for each work item ID format in use. It records the most recently assigned work item ID of that format.
  • pc_data_workattach: Attachments to work items are instances of concrete classes derived from the Data-WorkAttach- class and linked to this table.
  • Pr4_base: This table holds the instances of three foundation classes, Data-Admin-DB-Table ; Data-Admin-DB-Name; Data-Admin-DB-ClassGroup.
  • pr_data_file: Data-Content-Image class is associated with the table.

 

3. History tables

  • pc_history_work: This table contains all classes derived from the History-Work- class.
  • pr4_history_rule: This tables contains instances for various rule related works like Restore, Recover, and detailed history.

 

4. Case tables

  • pc_work: This table saves the case instances of concrete classes derived from the Work- base class.

 

Apart from the ones mentioned above, there are a few other categories of tables to keep in mind.

Link Tables:  This type of table stores information about paired object instances. In the Pega Platform database, the names of link tables start with the values pc_link or pr_link.

Log table:  This table stores instances of Log- classes.

Index Table:  Most Pega Platform DB tables that support indexes have table names that start with pr_index or pc_index and fall under this category.

 

NOTE: Tables that contain rows for Rule-Declare-Index are different from database indexes defined by SQL, which are maintained within the database by database software.

 

Overall, these are the key tables that Pega Developers should know about. If you have any further queries please visit the Pega Product Support Community and drop your questions there!

 

 

 

About the author

Santanu Bhattacherjee is an avid technical blogger who loves sharing his knowledge and experience to those with similar interests. Santanu has around 10 years of experience in the IT industry and has been with Pega since 2009.

He is a Pega Certified Lead System Architect and currently working as a manager in the Pega Global Customer Support at Hyderabad, India.

Santanu also manages a blog here. He is one of the top contributors to the Pega Product Support Community on PDN and would love to answer any questions you have.