postgresql 如何在使用pyodbc连接到Postgres时设置一个特定的模式,同时在查询中设置引擎而不设置search_path?

6pp0gazn  于 2023-02-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(194)

我正在尝试使用Pyodbc查询Postgres SQL数据库。
现在,我想在设置pyodbc连接本身的同时设置一个特定的模式,这样我就不必在每个查询中添加模式名称。
现在,一个解决方案是添加搜索路径-Reference
是否有办法修改pyodbc.connect()本身,以便在引擎启动期间设置搜索路径?
我试过:

# Assume there is a dictionary called choice with details.
cnxn = pyodbc.connect(
        database=choice["database"], 
        schema=choice["schema"],  # Tried Adding Schema Here.
        user=choice["username"], 
        password=choice["db_pass"], 
        host=choice["server"], 
        driver=driverName
        )

还有

cnxn = pyodbc.connect(
    'DRIVER='+driverName+';SERVER=' + choice["server"] + ';DATABASE=' +
    choice["database"] + ';SCHEMA=' + choice["schema"] + ';UID=' + choice["username"] + ';PWD=' + choice["db_pass"]
)

当我运行查询select current_schema()时,在这两种情况下,它仍然返回public

hl0ma9xz

hl0ma9xz1#

可以使用ALTER ROLEALTER DATABASE更改用户或数据库的默认设置search_path

相关问题