Posted: 25 Mar 2020 4:35 EDT Last activity: 22 Mar 2021 19:25 EDT
The latest PostgreSQL JDBC Driver with Pega Platform 8.4
Customer has reported that the latest PostgreSQL JDBC Driver, "postgresql-42.2.11.jar" won't work with Pega Platform. When they try to start Pega Platform, it throws an error below:
ERROR - There was a problem committing a transaction on database pegarules com.pega.pegarules.pub.database.DatabaseException: Database-General There was a problem committing a transaction on database pegarules 0 25P02 The database returned ROLLBACK, so the transaction cannot be committed. Transaction failure cause is <<ERROR: duplicate key value violates unique constraint "pr_sys_ruleset_index_pk"...
However when I replace the JDBC driver with old one, such as "postgresql-42.2.9.jar", Pega Platform starts without a problem. I am now positive that this issue is being caused by JDBC driver. Since this new driver was just released this month, I was unable to find any reference information on web, or Platform Support Guide. Anyone faces the same issue?
***Edited by Moderator: Pallavi to update SR Details***
The root cause was that JDBC Driver 42.2.11 had changed the way a silent rollback is handled - when a commit fails (for whatever reason), a sqlexception is raised (instead of a silent rollback).
Given this situation, below are the solutions:
(1) Use old JDBC Driver 42.2.10 or lower
(2) Use the latest JDBC Driver 42.1.12 (this was just released two days ago - 3/31/2020).
(3) Use the JDBC Driver 42.2.11, and also add below connection property to your context.xml to disable the settings:
Below is the screenshot of context.xml in my local machine.
I've verified that Driver version 42.2.12 works fine without modifying context.xml, but it is not guaranteed that PostgreSQL will not change the specification back to 42.2.11 way again in the future. If that ever happens, we'll have to modify context.xml as above.