python - Jupyter笔记本空闲锁定 Redshift 表

标签 python amazon-web-services jupyter-notebook amazon-redshift psycopg2

我正在 jupyter 笔记本上运行一些代码,有一些对 aws redshift 数据库的 SQL 查询。

问题是在执行这些查询后,即使我没有在笔记本上运行任何内容,看起来表仍处于读锁定状态。

当我关闭运行笔记本的终端时,锁定会释放。

运行代码示例

def met():
    con=psycopg2.connect(host=
                         ,user=
                         ,password=
                         ,port=
                         ,dbname =)
    table_data = pd.read_sql_query(query, con)
    con.close()

最佳答案

您的光标可能保持打开状态,您应该将其包装在 try- except-finally 中,以确保它在完成查询后关闭:

cursor = None
try:
    cursor = db.cursor()
    cursor.execute("""SELECT foo FROM bar""")
    module.rase_unexpected_error()
    cursor.commit()
except BaseException:
    if cursor is not None:
        cursor.rollback()
finally:
    if cursor is not None:
        cursor.close()

查看此问题以获取更多信息:use try/except with psycopg2 or "with closing"?

关于python - Jupyter笔记本空闲锁定 Redshift 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709940/

相关文章:

python - 获取字符之前和之后的字符串,然后将它们设置为变量 Python

python - 我正在尝试在 python 中运行 sudo 来打开一个应用程序

amazon-s3 - 尝试使用 s3cmd 在 Amazon S3 文件上设置元数据

amazon-web-services - 当消息发布到SQS时如何触发lambda?

python - 如何在 Jupyter 笔记本中获得交互式 Bokeh

keras - 在 Jupyter notebook 中中断 keras 训练是否可以节省训练?

python - 如何在matplotlib中基于x轴更改直方图颜色

python - @property 的优点假设我只需要获取值

mysql - 错误 : Handshake inactivity timeout in Node. js v6.9.1 和 MySQL

jupyter-notebook - 链接到Jupyter笔记本标记单元中的python文件