我试图从python脚本中运行redshift中的查询,但我收到错误:
{1}
这是我的代码:
String.Replace("{0}", userID);
我该如何解决这个问题?
答案 0 :(得分:5)
对于PostgreSQL,您需要将isolation level设置为AUTOCOMMIT
,而不是SQLAlchemy autocommit
:
conn.execution_options(isolation_level="AUTOCOMMIT").execute(query)
答案 1 :(得分:0)
This solution对我来说就像使用sqlalchemy:session而不是:conn作为@univerio answer
我在这里引用他们的答案
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql+psycopg2://USER:PASSWORD@127.0.0.1:5432/DB_OR_TEMPLATE')
session = sessionmaker(bind=engine)()
session.connection().connection.set_isolation_level(0)
session.execute('CREATE DATABASE test')
session.connection().connection.set_isolation_level(1)
如果您没有任何数据库,则应使用template1
"""Isolation level values."""
ISOLATION_LEVEL_AUTOCOMMIT = 0
ISOLATION_LEVEL_READ_COMMITTED = 1
ISOLATION_LEVEL_SERIALIZABLE = 2