如何使用SQLAlchemy创建新数据库?

如何使用SQLAlchemy创建新数据库?,第1张

如何使用SQLAlchemy创建数据库

在postgres上,通常默认情况下存在三个数据库。如果您能够以超级用户身份(例如,

postgres
角色)进行连接,则可以连接到
postgres
template1
数据库。默认的pg_hba.conf只允许名为unix的用户
postgres
使用该
postgres
角色,因此最简单的方法就是成为该用户。无论如何,使用有权创建数据库的用户照常创建引擎:

>>> engine = sqlalchemy.create_engine("postgres://postgres@/postgres")

engine.execute()
但是,您不能使用,因为postgres不允许您在事务内部创建数据库,而sqlalchemy始终尝试在事务中运行查询。要解决此问题,请从引擎获取基础连接:

>>> conn = engine.connect()

但是连接仍将在事务内部,因此您必须使用以下命令结束打开的事务

commit

>>> conn.execute("commit")

然后,您可以使用适当的PostgreSQL命令继续创建数据库。

>>> conn.execute("create database test")>>> conn.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5616656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存