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 configured either with the PostgreSQL JDBC driver or Redshift JDBC driver will continue to work as expected. The new pipelines will use the Amazon Redshift JDBC driver as the default driver.
Important:
SnapLogic will support providing fixes for the issues you might encounter with accounts that use the PostgreSQL driver only until November 2023, after which SnapLogic will not provide support for issues with the PostgreSQL JDBC driver. Therefore, for such scenarios you must migrate from the PostgreSQL JDBC driver to the Redshift JDBC driver before November 2023.
Migrating to Redshift Driver
To migrate from the PostgreSQL to the Redshift JDBC 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 Scenarios in Redshift Accounts
If your account configuration uses the following combination of JAR files, driver classes and JDBC URLs, your accounts are authenticated successfully.
For the JDBC URL, default indicate the Snap generated URL, while manual indicates the URL that you provide.
For the JDBC driver, default indicates the driver that is bundled with the Snap pack, while manual indicates the driver that you upload.
JDBC Driver JAR | JDBC Driver Class | JDBC URL | Authentication |
---|---|---|---|
Redshift (default) |
| jdbc:redshift (default/manual) | Authenticates successfully. |
Redshift (manual upload) |
| jdbc:redshift (default/manual) | Authenticates successfully using the manually uploaded JAR file. |
PostgreSQL (default) |
| jdbc:postgresql (default/manual) | Authenticates successfully. |
PostgreSQL (Manual) |
| jdbc:postgresql (default/manual) | Authenticates successfully using the manually uploaded JAR file. |
Redshift JAR |
| jdbc:postgresql (default/manual) | Authenticates successfully using the default PostgreSQL JAR file. |
PostgreSQL JAR |
| 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 |
| jdbc:postgresql | Authentication fails. |
Redshift JAR |
| jdbc:redshift | Authentication fails. |
PostgreSQL JAR |
| jdbc:postgresql | Authentication fails. |
PostgreSQL JAR |
| 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, display of the label name for the timestamptz
data type in the output preview varies with the two JDBC drivers, when you configure Output fields and deselect Match data types checkbox. For instance, consider the following configuration of the Output fields in the Redshift Select Snap. On validation, notice the difference in the label name in the output preview.
With the PostgreSQL driver, the Snap dislays the labels as configured in the Snap settings.
With the Redshift Driver, the Snap prefixes Redshift to the Timestamp
label.
The behavior of the Snap remains the same when you select the Match data types checkbox, irrespective of using the PostgreSQL or the Redshift driver—the label names are displayed as configured in the Snap settings.
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 JDBC Driver: If there is any invalid record within the batch, only the invalid document is passed to the error view and the remaining valid documents are passed to the output.