如何使用 Langchain 的 SQLDatabase.from_uri 指定我要使用哪个模式?

问题描述 投票:0回答:1

我正在尝试使用来自 Langchain 的 SQLDatabase.from_uri,但我不确定在哪里指定我想要获取表的模式。

db = SQLDatabase.from_uri(f"postgresql+psycopg2://{db_user}:{db_password}@{db_host}:{db_port}/{db_name}")
print(db.dialect)
print(db.get_usable_table_names())
print(db.table_info)

如果我这样做,它会正确连接到数据库,但在打印获取可用名称方法时它是空白的,我想这是因为该数据库上有多个模式,因此我需要找到一种方法来指定该模式。

python postgresql langchain
1个回答
0
投票

不熟悉 Langchain 或 Python,但在 Postgresql 中模式是通过 search_path 设置定义的。默认为:

"$user", public
- 首先查看与用户同名的模式,然后查看公共模式

可以通过

SET search_path TO myschema,public;

重新定义

详细信息:https://www.postgresql.org/docs/current/ddl-schemas.html

© www.soinside.com 2019 - 2024. All rights reserved.