Skip to end of banner
Go to start of banner

Upgrading from PostgreSQL JDBC Driver to Amazon Redshift JDBC Driver

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

In this article

Overview

The Redshift Snap Pack will use the Amazon Redshift JDBC driver com.amazon.redshift.jdbc42.Driver as the default driver class beginning from March 2023 release. This upgrade is backward-compatible. The existing pipelines will continue to work as expected and the new pipelines will use the Redshift Driver as the default driver.

Important:

  • SnapLogic will support providing fixes for the issues you might encounter with accounts using the PostgreSQL driver with the Redshift Snap Pack only until November 2023. After November 2023, SnapLogic will not provide support for the issues with the PostgreSQL driver. Therefore, we recommend you to migrate from the PostgreSQL JDBC driver to the Redshift JDBC driver.

Migrating to Redshift Driver

To migrate from the PostgreSQL to the Redshift driver as the default driver, update the JDBC Driver Class in the Account settings from org.postgresql.Driver to "com.amazon.redshift.jdbc42.Driver" in your existing accounts.

JDBC Driver Configuration in Redshift Accounts

If your account configuration uses the following combination of JAR files, driver classes and JDBC URLs, your accounts are authenticated successfully.

JDBC Driver Jar

JDBC Driver Class

JDBC URL

Authentication

Redshift (default)

com.amazon.redshift.jdbc42.Driver

Jdbc:redshift (default/manual)

Authenticates successfully.

Redshift (manual upload)

com.amazon.redshift.jdbc42.Driver

Jdbc:redshift (default/manual)

Authenticates successfully using the manually uploaded JAR file.

PostgreSQL (default)

org.postgresql.Driver

Jdbc:postgresql (default/manual)

Authenticates successfully.

PostgreSQL (Manual)

org.postgresql.Driver

jdbc:postgresql (default/manual)

Authenticates successfully using the manually uploaded JAR file.

Redshift JAR

org.postgresql.Driver

jdbc:postgresql (default/manual)

Authenticates successfully using the default PostgreSQL JAR file.

PostgreSQL JAR

com.amazon.redshift.jdbc42.Driver

jdbc:redshift (default/manual)

Authenticates successfully using the default Redshift JAR file.

If your account configuration uses the following combination of JAR files, driver classes and JDBC URLs, then your accounts cannot be authenticated.

JDBC Driver Jar

JDBC Driver Class

JDBC Url

Authentication

Redshift JAR

com.amazon.redshift.jdbc42.Driver

jdbc:postgresql

Authentication fails.

Redshift JAR

org.postgresql.Driver

jdbc:redshift

Authentication fails.

PostgreSQL JAR

com.amazon.redshift.jdbc42.Driver

jdbc:postgresql

Authentication fails.

PostgreSQL JAR

org.postgresql.Driver

jdbc:redshift

Authentication fails.

Behavior Change from the PostgreSQL JDBC Driver to the Amazon Redshift JDBC Driver

Display of labels in the output for the Redshift Select Snap

For the Redshift Select Snap, the display of lables for the Output fields in the output preview varies with the two JDBC drivers. For instance, consider the following configuration of the Output fields in the Redshift Select Snap. On validation, notice the difference in the output.

With the PostgreSQL Driver configured in the account, the Snap dislays the labels as configured in the Redshift Select Snap.

With the Redshift Driver configured in the account, the Snap prefixes Redshift to the Timestamp label.

The labels are displayed as configured in the Snap, when you select the Match data types checkbox, irrespective of the PostgreSQL or the Redshift driver.

Batch Size

The behavior of the Redshfit Execute Snap with respect to the Batch Size varies for the two drivers:

  • Redshift JDBC Driver: If there is any invalid record within the batch the entire batch of documents fail.

  • PostgreSQL Driver: If there is any invalid document, that document is passed to the error view and the remaining valid documents are passed to the output.

  • No labels