Psycopg2命令挂起,可能是因为表名?

2024-09-30 08:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码在试图创建第二个表时挂起(即使是ctrl-C也无法停止它,我必须关闭终端),我不知道为什么。第一个表已成功创建(我可以在psql中看到它与\dt cyanobacteria.*)。一个简单的解决方案是重命名该表,但我正在尝试将其他人的代码恢复到工作状态,并且我必须经历许多更改。他让它工作了一次,所以它应该对我有用!在

我创建了一个名为“genomes”的数据库,一个名为“genomes_admin”的用户和一个名为“蓝藻”的模式。然后我试着做一些表格:

#!/usr/bin/python
import psycopg2

psql = "dbname='genomes' user='genomes_admin'"
schm = 'cyanobacteria'

conn = psycopg2.connect(psql)
cur = conn.cursor()
cur.execute('''SET search_path TO %s''', (schm,))
conn.commit()

cur.execute('''CREATE TABLE IF NOT EXISTS testnm(blah text, length int) ''')
print 'created testnm'
conn.commit()
print 'committed'

cur.execute('''CREATE TABLE IF NOT EXISTS genomes(blah text, length int) ''') # hangs here
print 'created genomes'  # this line never executes
conn.commit()
print 'committed'
cur.close()
conn.close()

Tags: 代码executeifadmincreatetableconnpsycopg2

热门问题