【发布时间】:2014-04-27 12:18:22
【问题描述】:
您好,我正在尝试使用 Python 代码从 Amazon Redshift 表中读取一些数据。
我正在使用 psycopg2 库。
以下是我正在使用的代码:
import psycopg2
try:
conn = psycopg2.connect("dbname='testdb' port='5439' user='user' host='us-west.redshift.amazonaws.com' password='pass'");
except:
print "I am unable to connect to the database"
cur = conn.cursor()
conn.set_isolation_level( psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT )
try:
cursor.execute( 'begin' )
cur.execute("""SELECT * from employee""")
cursor.execute( 'commit' )
except:
print "Unable to select from test database!"
rows = cur.fetchall()
但我无法读取数据,因为它无法从测试数据库中选择。
请指教。
【问题讨论】:
-
所以看起来您是从公共模式中的员工表中选择的。您能否确认“用户”用户 ID 可以使用 aginity 之类的查询工具从该表中进行选择?
-
另外,不要使用
BEGIN,psycopg2 会为您管理。见initd.org/psycopg/docs/usage.html#transactions-control -
是的,你是对的!所以我尝试仔细考虑它,发现连接字符串存在一些访问问题,并且代码也可以在没有开始和隔离级别的情况下工作。谢谢麦克和雾。
标签: python-2.7 psycopg2 amazon-redshift