从 Python 程序中创建 PostgreSQL 角色/用户

Posted

技术标签:

【中文标题】从 Python 程序中创建 PostgreSQL 角色/用户【英文标题】:Create PostgreSQL Role/User from within Python program 【发布时间】:2020-04-03 22:50:39 【问题描述】:

您知道是否可以从 Python 代码中为 Postgresql 数据库创建角色/用户?

我更喜欢使用asyncpg 库,因为我的程序是基于异步代码的,但是如果有更好的库来完成这个特定任务,我不介意使用它们。

我已经在我的服务器机器上预装了一个数据库,因此另一种可能性是只运行 Python 程序中的 Shell 命令来创建角色。但是,我不确定您是否可以仅在一个 Shell 行中创建角色。

【问题讨论】:

也许与 psycopg2 @GiovaniSalazar CREATE ROLE 查询在那里看起来如何?你确定 psycopg2 支持角色创建吗?我在他们的文档中找不到明确的答案。 psycopg2 是 python 的客户端 ...这里有一个例子:***.com/questions/53022587/… @GiovaniSalazar 谢谢!我想我找到了一个更优雅的单行解决方案来解决我的问题:pool.execute("CREATE ROLE name ...") 【参考方案1】:

经过一番挖掘,答案似乎很简单:

pool.execute("CREATE ROLE name ...")

【讨论】:

以上是关于从 Python 程序中创建 PostgreSQL 角色/用户的主要内容,如果未能解决你的问题,请参考以下文章

使用 PostgreSQL 在 SQLAlchemy 测试中创建数据库

我可以从带有标题的csv文件中自动在PostgreSQL中创建一个表吗?

在 Java 中创建一个 bytea 数组以传递给 Postgresql 存储过程

关于如何在 Django 应用程序中处理 PostgreSQL 数据库的建议?

在 Elastic Beanstalk Postgresql 中创建 Django 超级用户

如何根据行创建日期在 PostgreSQL 中创建自定义序列?