【发布时间】:2019-05-19 17:52:16
【问题描述】:
我正在尝试使用 postgressql 的 pg8000 驱动程序创建数据库,但无法创建。手动创建一个数据库然后连接到它对我来说很好,但我需要用我的代码创建数据库。我收到错误“sqlalchemy.exc.ProgrammingError: (pg8000.ProgrammingError)”。我试过下面的代码来创建一个数据库。
from sqlalchemy import create_engine
dburl = "postgresql+pg8000://user:pswd@myip:5432/postgres/"
engine = create_engine(dburl)
conn = engine.connect()
conn.execute("COMMIT")
conn.execute("CREATE DATABASE qux")
我也试过下面的-
from sqlalchemy import create_engine
from sqlalchemy.engine import url
settings ={"drivername" : "postgresql+pg8000", "host" : "myip","port" : 5432,"username" : "user","password" : "pswd","database" : "MyTestDB"}
db=create_engine(url.URL(**settings))
db.execute("commit")
这是我得到的确切错误 """sqlalchemy.exc.ProgrammingError: (pg8000.ProgrammingError) ('ERROR', '25001', 'CREATE DATABASE cannot run inside a transaction block') [SQL: 'create数据库workDB']""""
请建议我如何创建这个数据库...
【问题讨论】:
-
请在帖子中添加完整的错误消息
-
编辑有准确的错误
-
@tec_abhi 得到这个答案了吗?
标签: python postgresql sqlalchemy pg8000