PostgreSQL JDBC driver from v9.4.1207 to v42.7.2

Overview

We plan to upgrade the JDBC driver for the PostgreSQL Snap Pack from v9.4.1207 to v42.7.2 (Java 8) on July 10 (Latest release), 2024. This upgrade will be part of the GA release on August 14, 2024 (Stable release). As a part of this upgrade, the 42.7.2 JDBC driver is bundled with the PostgreSQL Snap Pack as the default JDBC driver.

Behavior Changes

This driver upgrade will likely result in specific behavior changes in the Snap Pack. These changes are for status codes and success and failure messages. This table lists these changes:

PostgreSQL Snaps

Scenario

Error/Output from the Old (v9.4.1207) JDBC Driver

Error/Output from the new (v42.7.2 (Java 8)) JDBC Driver

PostgreSQL-Execute

When you provide multiple statements in the SQL Statement field, the Snap fails.

Status: 0

Output message: Success

Status: -3

Error message: Batch operation failed

PostgreSQL-Select

PostgreSQL-Lookup

PostgreSQL-Execute

Table columns of the Array type now output the data as a list instead of a string.

Output message:

{id=1, ar_char={a,b,c}}

 

 

Output message:

{id=1,

ar_char=[a, b, c]}

PostgreSQL-Delete

PostgreSQL-Execute

PostgreSQL-Insert

PostgreSQL-Update

When the input value provided for a column is invalid for the column type.

Error Message: SQL operation failed

Reason: ERROR: invalid input syntax for type "DataType": "Invalid input" Position: <number>, error code: 0, SQL state: 22007

 

Error Message: Batch operation failed

Reason: Batch entry 0 <query> was aborted: ERROR: invalid input syntax for type 'Col DataType' : "invalid input" Position: <number> Call getNextException to see other errors in the batch., error code: 0, SQL state: 22007, next exception: ERROR: invalid input syntax for type 'Col DataType': "invalid input" Position: <number>

PostgreSQL-Select

 

When the metadata is returned from the Snap’s second output view.

The original number of columns in the input data is displayed in the output.

In Select Snap, second output view, some new columns are introduced.
For example, IS_GENERATEDCOLUMN , REF_GENERATION, SELF_REFERENCING_COL_NAME, TYPE_CAT, TYPE_NAME, TYPE_SCHEM

PostgreSQL-Delete

 

When the delete condition has an unterminated quote string.

Error message: SQL operation failed
Reason : ERROR: unterminated quoted string at or near "' )"\n Position: <number>, error code: 0, SQL state: 42601

Error message: SQL operation failed
Reason : "SQL [<query>]; Unterminated string literal started at position <number> in SQL delete from "public"."av_cities" where (city = ' sun ' ' ). Expected char"

PostgreSQL-Execute

When you provide the following query:

"create table <name> as <query>"

Status : 0
Message : Success

Status : Number of rows that were pulled from the source result set to create the new table.
Message : Success

All PostgreSQL Snaps

When the Dynamic Account has incorrect credentials.

Error : SQL operation failed
Reason : "java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl, jdbc:postgresql://??postgresql-v10.nia.snaplogic.com:5432/snapteam?OpenSourceSubProtocolOverride=true, Driver org.postgresql.Driver claims to not accept jdbcUrl, jdbc:postgresql://??postgresql-v10.nia.snaplogic.com:5432/snapteam?OpenSourceSubProtocolOverride=true"

Error message: SQL operation failed
Reason : "Failed to retrieve a database connection."

 

FAQ for upgrading the PostgreSQL JDBC Driver from v9.4.1207 to v42.7.2 (Java 8)

What is happening?

We plan to upgrade the JDBC driver for the PostgreSQL Snap Pack shortly from v9.4.1207 to v42.7.2 (Java 8). As a part of this upgrade, the v42.7.2 (Java 8) JDBC driver is bundled with the PostgreSQL Snap Pack as the default JDBC driver.

Why are we upgrading the PostgreSQL driver?

To improve security, performance, stability, and reliability.

What is the timeline for this upgrade?

This upgrade will be available on July 10 (Latest release), 2024, and will be part of the GA release on August 14, 2024 (Stable release).

Will I be impacted?

Yes, if you use the default version, you will be impacted. The impact might be minimal if you use the latest driver or a higher version than the v42.7.2 (Java 8) JDBC driver.

  • To check the version of the current JAR file that you are using, refer to PostgreSQL's latest versions.

  • To know the JAR file that is in use, follow these steps:

    1. Open the JAR file using a ZIP utility or a JAR viewer tool.

    2. Look for the META-INF/MANIFEST.MF file in the JAR and check the version.

Do I need to reconfigure my accounts?

You do not have to reconfigure your account settings or drivers; the account can remain as-is to work with the latest driver. However, if you currently use the default version and want to revert to the previous version behavior, we recommend you use the postgres 9.4.1207.jar.

How do you override the behavior changes?

Use the postgres 9.4.1207.jar from v9.4.1207 to maintain the same behavior as before the driver upgrade.