获取与Npgsql一起工作的搜索路径
本文关键字:搜索 路径 工作 一起 Npgsql 获取 | 更新日期: 2023-09-27 18:13:55
在整个数据库或PostgreSQL中的模式上为特定用户设置search_path
的合适方法是什么,以便通过Npgsql工作?
以用户reader
为例。
我已经尝试通过
在数据库本身设置reader's
搜索路径alter default privileges in schema auth grant select on tables to reader;
我试过在postgresql.conf
文件(search_path = 'auth'
)中设置它。
我试过在connectionString
节点(...;searchpath=auth;...
)的web.config
文件中设置它。
这些似乎都不起作用。当我试图使用我的连接访问一个名为users
的表时,我得到了错误
ERROR: 42P01: relation "users" does not exist
如果我指定模式(e.g. "select * from auth.users ..."
),那么它将工作。
(实际上在这一点上,我得到了错误ERROR: 42501: permission denied for schema auth1
,这是我必须解决的下一个问题,但搜索路径问题似乎已解决)。
注意:我正在使用dapper dot net,可以成功地与我的超级用户postgres
进行查询。
重新启动IIS Express和PostgreSQL没有做任何事情,但是在重新启动我的机器之后,我不再需要提供模式,尽管我不确定这三种方法中的哪一种实际上做到了这一点。给任何可能遇到这个的人。