Чтобы подключить Amazon Redshift, я использовал модуль python psycopg2
для добавления набора данных в Amazon Redshift, и он работает нормально. Просто упомянуть, что я использую URL-адрес конечной точки Redshift для подключения через psycopg2
, который использует Python DB API v2.0. Amazon Redshift также предоставляет URL-адрес JDBC или ODBC для подключения, но я этим не пользуюсь.
псевдокод:
import psycopg2
try:
connection = psycopg2.connect(user = "redshift_user",
password = "redshift_password",
host = "redshift_endpoint",
port = "5432",
database = "redshift_database")
cursor = connection.cursor()
Примечание: Я также использую ту же конечную точку Redshift для подключения к ней из моих разных клиентов, таких как Tableau, Navicat Premium или другие клиенты SQL, которые используют драйвер JDBC / ODBC под ним.
Но недавно Amazon отправил мне сообщение об обновлении драйвера JDBC,
AWS Redshift выявил проблему в RedshiftДрайверы JDBC, которые привели к неожиданному перезапуску сервера, что впоследствии было исправлено в последних драйверах Redshift JDBC. Некоторые из ваших кластеров в регионе US-WEST-2 регистрируют соединения из более старых версий драйвера JDBC и могут быть затронуты этой проблемой.
Пожалуйста, обновите драйвер до последней версии: 1.2.36.1060, котораядоступно для скачивания [1].
[1] https://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html#download-jdbc-driver
Так что теперь у меня есть пара вопросов -
Модуль psycopyg2 использует драйвер JDBC или ODBC под ним?
Вышеприведенное сообщение от AWS из-за различных клиентов, которые я использовал, под которыми используются старыеверсия драйверов JDBC или ODBC. Поэтому я должен обновлять драйверы своих клиентов только не на моем psycopg2
модуле.