2

我希望安全地将必须双引号转义的模式名称传递给数据库引擎,在这种情况下,在构造 GRANT 语句时,我想将包含 test 的变量安全地传递给数据库。

GRANT SELECT ON ALL TABLES IN SCHEMA "test" TO readuser

我不确定如何从 SQLAlchemy 执行此操作。

如果有帮助,我正在使用 psycopg2 连接到 postgreSQL

4

1 回答 1

-1

我从未尝试过GRANT通过 SQLAlchemy 发出数据库维护查询。我想 ORM 不会发出这种查询,因此我猜你想使用Session.execute以文本方式发出它。如果是这样,文档中的示例就如何做到这一点非常简单:

session.execute(
    "GRANT SELECT ON ALL TABLES IN SCHEMA :param TO readuser",
    { "param": "test" }
)
于 2012-10-12T00:44:53.307 回答